《微型計(jì)算機(jī)原理與接口技術(shù)》第2章-微型處理器與總線課件_第1頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》第2章-微型處理器與總線課件_第2頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》第2章-微型處理器與總線課件_第3頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》第2章-微型處理器與總線課件_第4頁(yè)
《微型計(jì)算機(jī)原理與接口技術(shù)》第2章-微型處理器與總線課件_第5頁(yè)
已閱讀5頁(yè),還剩112頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 微型處理器與總線2.1 微處理器概述 微處理器是計(jì)算機(jī)的核心部件,具有下面幾個(gè)特點(diǎn):能夠進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算;能對(duì)指令進(jìn)行譯碼,寄存并執(zhí)行指令所規(guī)定的操作具有與存儲(chǔ)器和I/O接口進(jìn)行數(shù)據(jù)通信的能力少量數(shù)據(jù)的暫存能夠提供系統(tǒng)所需要的定時(shí)和控制信號(hào)能夠響應(yīng)輸入輸出設(shè)備發(fā)出的中斷請(qǐng)求 人們常說(shuō)的16位機(jī),32位機(jī)是表示計(jì)算機(jī)中微處理器內(nèi)部數(shù)據(jù)總線的寬度-CPU可以同時(shí)操作的二進(jìn)制碼的位數(shù)。現(xiàn)在的CPU都是32位的。一、運(yùn)算器運(yùn)算器的組成算術(shù)邏輯單元:它的內(nèi)部包括加、減、乘、除運(yùn)算的加法器,及實(shí)現(xiàn)與、或、非、異或等邏輯運(yùn)算功能的部件。通用或?qū)S眉拇嫫鹘M:提供操作數(shù)和暫存中間運(yùn)算結(jié)果及結(jié)特征;

2、內(nèi)部總線:用于傳送數(shù)據(jù)和指令運(yùn)算器的結(jié)構(gòu)按內(nèi)部總線數(shù)量不同分為:1、單總線結(jié)構(gòu)運(yùn)算器寄存器組ABALU所有部件通過(guò)一條內(nèi)部總線傳遞信息,任何時(shí)刻只有一組數(shù)據(jù)從源部件傳送到目標(biāo)部件。當(dāng)要進(jìn)行一次雙操作數(shù)的運(yùn)算時(shí),首先通過(guò)總線將第一個(gè)操作數(shù)放入鎖存器A或B中,然后現(xiàn)通過(guò)總線傳送另一個(gè)操作數(shù)到另一個(gè)鎖存器中,之后進(jìn)入ALU進(jìn)行運(yùn)算。運(yùn)算結(jié)果再通過(guò)總線送到內(nèi)部通用寄存器。特點(diǎn):結(jié)構(gòu)簡(jiǎn)單,但速度比較慢。2、雙總線結(jié)構(gòu)運(yùn)算器寄存器組緩沖區(qū)BUSBUSALU雙總線結(jié)構(gòu)在運(yùn)算器內(nèi)部用兩條總線來(lái)傳送數(shù)據(jù),參加運(yùn)算的操作數(shù)可以同時(shí)通過(guò)兩條總線送到ALU進(jìn)行運(yùn)算,運(yùn)算結(jié)果經(jīng)緩沖器再通過(guò)任意一條總線送到通用寄存器。特

3、點(diǎn):運(yùn)算速度比單總線結(jié)構(gòu)要快。3、三總線結(jié)構(gòu)運(yùn)算器寄存器組旁路器BUSALU它用兩條總線來(lái)傳送操作數(shù),一條專門用于傳送運(yùn)算結(jié)果。特點(diǎn):只要ALU運(yùn)算速度足夠快,全部操作可一步完成。二、控制器控制器的作用:控制程序的執(zhí)行,必須具備以下幾處功能1、完成指令控制 指令在存儲(chǔ)器中是連續(xù)存放的,一般情況下,指令被按照順序一條條取出執(zhí)行,只有在碰到轉(zhuǎn)移指令時(shí)才會(huì)改變順序。控制器要能根據(jù)指令所在的地址按順序或在遇到轉(zhuǎn)移指令時(shí)按照轉(zhuǎn)移地址取出指令,分析指令,傳送必要的操作數(shù),并在指令執(zhí)行結(jié)束后存放運(yùn)算結(jié)果。2、實(shí)現(xiàn)時(shí)序控制 指令的執(zhí)行是在時(shí)鐘信號(hào)的控制下進(jìn)行的。一條指令的執(zhí)行時(shí)間為指令周期。不同的指令周期中所

4、包含的機(jī)器周期數(shù)是不相同的。而一個(gè)機(jī)器周期中包含多少節(jié)拍也是不一樣的。時(shí)序信號(hào)由控制器產(chǎn)生,使系統(tǒng)按一定的時(shí)序關(guān)系進(jìn)行工作。3、完成操作控制、根據(jù)指令流程,確定在指令周期的各個(gè)節(jié)拍中要產(chǎn)生的微操作控制信號(hào),以有效地完成各條指令的操作過(guò)程。、還要對(duì)異常情況及某些外部請(qǐng)求的處理能力。控制器的組成:程序計(jì)數(shù)器PC:用來(lái)存放下一條要執(zhí)行的指令在存儲(chǔ)器中的地址指令寄存器IR:用來(lái)存放從存儲(chǔ)器中取出的待執(zhí)行的指令。指令譯碼器ID:對(duì)指令寄存器中的指令進(jìn)行“翻譯”以確定進(jìn)行什么操作;時(shí)序控制器:產(chǎn)生計(jì)算機(jī)工作中所要的各種時(shí)序信號(hào);微操作控制部件:用于產(chǎn)生與各條指令相對(duì)應(yīng)的微操作。一條指令的功能是通過(guò)按一定次

5、序執(zhí)行一系列基本操作完成的。微操作控制指令譯碼指令寄存器地址加法器程序計(jì)數(shù)器時(shí)序邏輯自存儲(chǔ)器至存儲(chǔ)器各部件微操作控制信號(hào):控制器結(jié)構(gòu)示意圖核心部件2.2 8088/8086微處理器主要內(nèi)容:1.8088CPU外部引線及功能;2.8088CPU的內(nèi)部結(jié)構(gòu)和特點(diǎn);3.各內(nèi)部寄存器的功能;4.8088的工作時(shí)序概述 8088、8086基本類似16位CPU、AB寬度20位差別:1.指令預(yù)取隊(duì)列:8088為4字節(jié),8086為6字節(jié)2.數(shù)據(jù)總線引腳:8088有8根,8086有16根3.控制線引腳: 8088為IO/M,而8086為M/IO8088為準(zhǔn)16位CPU,內(nèi)部DB為16位,但外部?jī)H為8位,16位數(shù)

6、據(jù)要分兩次傳送本課程主要介紹8088(IBM PC采用)一.8088/8086 CPU的特點(diǎn)1、采用并行流水線工作方式2、對(duì)內(nèi)存空間實(shí)行分段管理:每段大小為16B64KB用段地址和段內(nèi)偏移實(shí)現(xiàn)對(duì)1MB空間的尋址設(shè)置地址段寄存器指示段的首地址3、支持多處理器系統(tǒng)(最大模式);指令的一般執(zhí)行過(guò)程: 取指令 指令譯碼 讀取操作數(shù) 執(zhí)行指令 存放結(jié)果1.8088/8086的指令流水線串行和并行方式的指令流水線:串行工作方式: BIU(總線接口單元)和EU(執(zhí)行單元)交替工作,按順序完成上述指令執(zhí)行過(guò)程;并行工作方式: BIU和EU可同時(shí)工作。串行工作方式:8088以前的CPU采用串行工作方式:1) C

7、PU訪問(wèn)存儲(chǔ)器(存取數(shù)據(jù)或指令)時(shí)要等待總線操作的完成 2) CPU執(zhí)行指令時(shí)總線處于空閑狀態(tài) 缺點(diǎn):CPU無(wú)法全速運(yùn)行 解決:總線空閑時(shí)預(yù)取指令,使CPU需要指令時(shí)能立刻得到取指令1執(zhí)行1取操作數(shù)2執(zhí)行2CPUBUS忙碌忙碌忙碌忙碌存結(jié)果1取指令2取指令和執(zhí)行指令示意圖(1)8位CPU(如8080)tt忙忙忙總線BUSCPU取指1分析指令1執(zhí)行指令1取指2分析指令2執(zhí)行指令2取指3分析指令3執(zhí)行指令3將指令的執(zhí)行過(guò)程簡(jiǎn)化為三步,并設(shè)這三步所要的時(shí)間完全相等都是執(zhí)行n條指令所要的時(shí)間為: 若不考慮取操作數(shù)和寫結(jié)果,將指令的執(zhí)行過(guò)程可簡(jiǎn)化為三步,并設(shè)這三步所要的時(shí)間完全相等,都為 ,采用順序執(zhí)行

8、方式執(zhí)行n條指令所要的時(shí)間為并行工作方式:8088CPU采用并行工作方式忙碌并行執(zhí)行n條指令所要的時(shí)間為:取指令2取操作數(shù)BIU存結(jié)果取指令3取操作數(shù)取指令4執(zhí)行1執(zhí)行2執(zhí)行3 EUBUS忙碌忙碌忙碌忙碌忙碌 CPU忙碌8088/8086的流水線操作1.8088 CPU包括兩大部分:EU(執(zhí)行單元)和BIU(總線接口單元)、BIU不斷地從存儲(chǔ)器取指令送入IPQ(指令預(yù)取列隊(duì)),EU不斷地從IPQ取出指令執(zhí)行、EU和BIU構(gòu)成了一個(gè)簡(jiǎn)單的2工位流水線、指令預(yù)取隊(duì)列IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似于工廠流水線的傳送帶)2.新型CPU將一條指令劃分成更多的階段,以便可以同時(shí)執(zhí)行更多的指令例如,PI

9、II為14個(gè)階段,P4為20個(gè)階段(超級(jí)流水線)結(jié)論指令預(yù)取隊(duì)列IPQ的作用: 使EU和BIU兩個(gè)部分可同時(shí)進(jìn)行工作,從而帶來(lái)了以下兩個(gè)好處:1、提高了CPU的效率2、降低了對(duì)存儲(chǔ)器存取速度的要求2.內(nèi)存的分段管理技術(shù) 8088的CPU的內(nèi)部結(jié)構(gòu)都是16位的,內(nèi)部總線只能傳送16位二進(jìn)制碼。如果用二進(jìn)制碼表示地址,8088就只能產(chǎn)生64K個(gè)地址。 為了提高系統(tǒng)的執(zhí)行速度,8088將內(nèi)存空間分為多個(gè)邏輯段,每個(gè)邏輯段最大為64K個(gè)單元,段內(nèi)每個(gè)單元的地址碼(偏移地址)長(zhǎng)度為16位。再為每個(gè)段設(shè)置段地址(段基地址),以區(qū)分不同的邏輯段。 8088CPU內(nèi)部具有專門存放段地址的段寄存器和存放偏移地址

10、的地址寄存器,將兩類不同寄存器的內(nèi)容送入地址加法器合成,形成了指向內(nèi)存某一具體單元的地址(物理地址)3.支持多處理器系統(tǒng) 8088具有最小和最大兩種工作模式及內(nèi)置的多任務(wù)處理能力,可通過(guò)模式選擇引腳進(jìn)行選擇。 最小模式也稱為單處理器模式。此時(shí)CPU僅支持由少量設(shè)備組成的單處理機(jī)系統(tǒng)而不支持多處理器結(jié)構(gòu)。系統(tǒng)控制總線的信號(hào)由8088CPU直接產(chǎn)生,且構(gòu)成的系統(tǒng)不能進(jìn)行DMA(直接存儲(chǔ)器存取)傳送。 最大模式也稱多處理模式,此時(shí)CPU能支持系統(tǒng)總線上的多個(gè)處理器,由總線控制器提供所有總線控制信號(hào)和命令信號(hào)。二、8088 CPU的引線及功能40引腳定義方法可大致分為:每個(gè)引腳只傳送一種信息(RD等)

11、;引腳電平的高低不同的信號(hào)(IO/M等); CPU工作于不同方式有不同的名稱和定義(WR/LOCK 等);分時(shí)復(fù)用引腳(AD7 AD0 等) ;引腳的輸入和輸出分別傳送不同的信息(RQ/GT等)。地址/數(shù)據(jù)線地址/狀態(tài)線非屏蔽中斷可屏蔽中斷請(qǐng)求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號(hào)總線保持請(qǐng)求信號(hào)總線保持相應(yīng)信號(hào)寫信號(hào)存儲(chǔ)器/IO控制信號(hào)M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)發(fā)送/接收信號(hào)DT/R=1,發(fā)送DT/R=0,接收數(shù)據(jù)允許信號(hào)地址允許信號(hào)中斷響應(yīng)信號(hào)測(cè)試信號(hào):執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待; TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信

12、號(hào):表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)8086CPU引腳功能地址狀態(tài)復(fù)用引腳地址/數(shù)據(jù)線非屏蔽中斷可屏蔽中斷請(qǐng)求最小最大模式控制MN/MX=1,最小模式MN/MX=0,最大模式讀信號(hào)總線保持請(qǐng)求信號(hào)寫信號(hào)存儲(chǔ)器/IO控制信號(hào)M/IO=1,選中存儲(chǔ)器M/IO=0,選中IO接口數(shù)據(jù)允許信號(hào)測(cè)試信號(hào):執(zhí)行WAIT指令,CPU處于空轉(zhuǎn)等待; TEST有效時(shí),結(jié)束等待狀態(tài)。準(zhǔn)備好信號(hào):表示內(nèi)存或I/O設(shè)備準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)傳輸。復(fù)位信號(hào)地址狀態(tài)復(fù)用引腳地址允許信號(hào)1、主要引線(最小模式下)8088是工作在最小還是最大模式由MN/MX端狀態(tài)決定:MN/MX=0時(shí)工作于最大模式,反之工

13、作于最小模式。數(shù)據(jù)信號(hào)線(DB)與地址信號(hào)線(AB):AD7AD0:地址、數(shù)據(jù)分時(shí)復(fù)用的雙向信號(hào)線,三態(tài)。當(dāng)ALE=1有效時(shí)為地址的低8位。當(dāng)(數(shù)據(jù)允許信號(hào))DEN=0時(shí),傳送數(shù)據(jù)信號(hào),此時(shí)為雙向。 A19A16:地址、狀態(tài)復(fù)用引腳,三態(tài)輸出。在某一時(shí)刻輸出高4位地址信號(hào),另外時(shí)刻,送出狀態(tài)信號(hào)S6-S3分時(shí)復(fù)用。S6恒等于0,S5為指示中斷允許標(biāo)志IF狀態(tài),S4,S3組合指示CPU當(dāng)前正使用的段寄存器。如表2-1。 A15A8 :中8位地址信號(hào),三態(tài)輸出。CPU尋址內(nèi)存或接口時(shí),輸出中8位地址信號(hào)。主要的控制(CB)和狀態(tài)信號(hào)WR: 三態(tài),輸出。寫命令信號(hào),低電平有效; RD: 三態(tài),輸出。

14、讀命令信號(hào),低電平有效; IO/M:三態(tài),輸出。指出當(dāng)前訪問(wèn)的是存儲(chǔ)器還是I/O接口。高電平:I/O接口,低電平:內(nèi)存 DEN:三態(tài),輸出。數(shù)據(jù)允許信號(hào),低電平時(shí),表示DB上的數(shù)據(jù)有效; RESET:輸入,系統(tǒng)復(fù)位輸入信號(hào);為高時(shí),CPU執(zhí)行復(fù)位;復(fù)位后CPU內(nèi)部寄存器狀態(tài)如表2-3。 ALE: 三態(tài),輸出,地址鎖存信號(hào)。高:AB地址有效; DT/ R:三態(tài),輸出。數(shù)據(jù)傳送方向控制信號(hào),高:CPU輸出, 低:CPU輸入。例: 當(dāng)WR=1,RD=0,IO/M=0時(shí),表示CPU當(dāng)前正在進(jìn)行讀存儲(chǔ)器操作。READY信號(hào)(輸入):用于協(xié)調(diào)CPU與存儲(chǔ)器、I/O接口之間的速度差異READY信號(hào)由存儲(chǔ)器或

15、I/O接口發(fā)出。它是高電平有效。READY=0時(shí),CPU就在T3后插入TW周期,插入的TW個(gè)數(shù)取決于READY何時(shí)變?yōu)楦唠娖?。中斷?qǐng)求和響應(yīng)信號(hào)INTR:輸入,可屏蔽中斷請(qǐng)求輸入端。 高電平:有INTR中斷請(qǐng)求 NMI:輸入,非屏蔽中斷請(qǐng)求輸入端。 低高(上升沿),有NMI中斷請(qǐng)求 INTA:中斷響應(yīng)輸出,對(duì)INTR信號(hào)的響應(yīng)。總線保持信號(hào) HOLD:輸入總線保持請(qǐng)求信號(hào)輸入端。當(dāng)CPU以外的其他設(shè)備(如DMA)要求占用總線時(shí),通過(guò)該引腳向CPU發(fā)出請(qǐng)求。 HLDA:總線保持響應(yīng)信號(hào)輸出,對(duì)HOLD信號(hào)的響應(yīng)。為高電平時(shí),表示CPU已放棄總線控制權(quán),所有三態(tài)信號(hào)線如讀、寫信號(hào)線,地址信號(hào)等均變

16、為高阻狀態(tài)。2、最大模式下的引腳1)、總線周期狀態(tài)信號(hào)輸出S2,S1,S0指出當(dāng)前總線周期操作的類型,低電平有效。如,中斷響應(yīng)、讀寫存貯器或IO端口等。此信號(hào)送至總線控制器8288,以產(chǎn)生相應(yīng)的總線控制信號(hào)。2)、總線請(qǐng)求/總線響應(yīng)信號(hào)RQ/GT1,RQ/GT0提供2路其他主控設(shè)備發(fā)出總線請(qǐng)求信號(hào)和CPU的響應(yīng)信號(hào)。當(dāng)其它設(shè)備的總線控制設(shè)備要使用系統(tǒng)總線時(shí),產(chǎn)生一個(gè)總線請(qǐng)求信號(hào),并送到RQ/GT引腳,類似最小模式下的HOLD信號(hào)。CPU檢測(cè)到請(qǐng)求后,在下一個(gè)T4或T1期間在RQ/GT送出一個(gè)總線響應(yīng)信號(hào)。4、指令隊(duì)列狀態(tài)信號(hào)輸出QS1,QS0提供當(dāng)前的指令隊(duì)列狀態(tài)。QS1 QS0 含義0 0

17、無(wú)操作0 1 取走指令第1字節(jié)代碼1 0 隊(duì)列空(取完)1 1 取走指令后續(xù)字節(jié)代碼3、總線封鎖信號(hào)輸出LOCK當(dāng)LOCK=0(有效)時(shí),CPU封鎖總線不允許其他總線部件占用總線。三、8088CPU的功能結(jié)構(gòu)8088內(nèi)部由兩部分組成: 執(zhí)行單元(EU)總線接口單元(BIU)CXAXDXFLAGS暫存寄存器ALUSPDIBHBLAHALDHCHCLDLBPSIEU控制部件1234總線控制邏輯SS內(nèi)部通信寄存器ESDSCSIP地址加法器BX通用寄存器組ALU數(shù)據(jù)總線16位指令列隊(duì)地址總線20位數(shù)據(jù)總線16位8080總線8位Q總線1.8088CPU內(nèi)部結(jié)構(gòu)EUBIU執(zhí)行單元EU功能: 執(zhí)行指令 從指

18、令隊(duì)列中取指令代碼 譯碼 在ALU中完成數(shù)據(jù)的運(yùn)算 運(yùn)算結(jié)果的特征保存在標(biāo)志寄存器FLAGS中。執(zhí)行單元EU包括 算術(shù)邏輯單元(運(yùn)算器ALU) 8個(gè)通用寄存器(通用Regs) 1個(gè)標(biāo)志寄存器(Flags) EU部分控制電路(部分CU)總線接口單元BIU功能:1、從內(nèi)存中取指令送入指令預(yù)取隊(duì)列IPQ2、負(fù)責(zé)與內(nèi)存或輸入/輸出接口之間的數(shù)據(jù)傳送 在執(zhí)行轉(zhuǎn)移程序時(shí),BIU使指令預(yù)取隊(duì)列IPQ復(fù)位,從指定的新地址取指令,并立即傳給執(zhí)行單元執(zhí)行??偩€接口單元BIU的組成 段寄存器 指令指針寄存器 指令隊(duì)列 地址加法器 總線控制邏輯2.8088的內(nèi)部寄存器含14個(gè)16位寄存器,按功能可分為三類 8個(gè)通用寄

19、存器(通用Regs) 4個(gè)段寄存器 (Seg Regs) 2個(gè)控制寄存器(Con Regs)專用Regs通用寄存器(通用Regs) 數(shù)據(jù)寄存器(AX,BX,CX,DX)地址指針寄存器(SP,BP)變址寄存器(SI,DI)數(shù)據(jù)寄存器 8088含4個(gè)16位數(shù)據(jù)寄存器,它們又可分為8個(gè)8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL作用: 常用來(lái)存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果數(shù)據(jù)寄存器特有的習(xí)慣用法 AX:累加器。多用于存放中間運(yùn)算結(jié)果; 所有I/O指令必須都通過(guò)AX 與接口傳送信息. BX:基址寄存器。在間接尋址中用于存放基地址; CX:計(jì)數(shù)寄存器。用于在循

20、環(huán)或串操作指令中存放 循環(huán)次數(shù)或重復(fù)次數(shù). DX:數(shù)據(jù)寄存器。在32位乘除法運(yùn)算時(shí)存放高16位數(shù); 在間接尋址的I/O指令中存放I/O端口地址。地址指針寄存器SP:堆棧指針寄存器. 其內(nèi)容為棧頂?shù)钠频刂?;BP:基址指針寄存器. 常用于在訪問(wèn)內(nèi)存時(shí)存放內(nèi)存單元的偏移地址。BX與BP在應(yīng)用上的區(qū)別相同點(diǎn): 作為通用寄存器, 二者均可用于存放數(shù)據(jù);不同點(diǎn): 作為基址寄存器, BX通常用于尋址數(shù)據(jù)段; BP通常用于尋址堆棧段。BX一般與DS或ES搭配使用; BP一般與SS拾配.注:間接尋址時(shí) 僅BX、BP、SI、DI可用于存儲(chǔ)器尋址; 僅DX可用于I/O尋址。變址寄存器SI:源變址寄存器DI:目標(biāo)變

21、址寄存器作用: 變址寄存器常用于指令的間接尋址或變址尋址。 特別是在串操作指令中,用SI存放源操作數(shù)的偏移地址,而用DI存放目標(biāo)操作數(shù)的偏移地址。段寄存器(專用Seg Regs ) 作用: 用于存放邏輯段的段基地址 (邏輯段的概念后面將要介紹) CS:代碼段寄存器 代碼段用于存放指令代碼 DS:數(shù)據(jù)段寄存器 ES:附加段寄存器 數(shù)據(jù)段和附加段用來(lái)存放操作數(shù) SS:堆棧段寄存器 堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)數(shù)據(jù)段DS/ES代碼段CS堆棧段SS控制寄存器(專用Con Regs )IP:指令指針寄存器,其內(nèi)容為下一條 要執(zhí)行的指令的偏移地址FLAGS:標(biāo)志寄存器狀態(tài)標(biāo)志:存放運(yùn)算

22、結(jié)果的特征 6個(gè)狀態(tài)標(biāo)志位(CF,SF,AF,PF,OF,ZF)控制標(biāo)志:控制某些特殊操作 3個(gè)控制標(biāo)志位(IF,TF,DF)ODITSZAPC1502467891011FLAGS四、存儲(chǔ)器的尋址物理地址8088:20根地址線,可尋址220=1MB個(gè)存儲(chǔ)單元CPU送到AB上的20位的地址稱為物理地址 物理地址物理地址.60000H 60001H 60002H 60003H 60004H.12HF0H1BH08H存儲(chǔ)器的操作完全基于物理地址。問(wèn)題:8088的內(nèi)部總線和內(nèi)部寄存器均為16位,如何生成20位地址?解決:存儲(chǔ)器分段存儲(chǔ)器分段高地址低地址段基址段基址段基址段基址最大64KB,最小16B段

23、i-1段i段i+1邏輯地址段基地址和段內(nèi)偏移組成了邏輯地址 段地址 偏移地址(偏移量) 格式為:段地址:偏移地址 物理地址=段基地址16+偏移地址60002H00H12H60000H0 0 0 0段基地址(16位)段首地址 偏移地址=0002HBIU中的地址加法器用來(lái)實(shí)現(xiàn)邏輯地址到物理地址的變換8088 可同時(shí)訪問(wèn)4個(gè)段,4個(gè)段寄存器中的內(nèi)容指示了每個(gè)段的基地址段基址段內(nèi)偏移物理地址+16位20位0000默認(rèn)段和偏移寄存器8086規(guī)定了訪問(wèn)存儲(chǔ)器段的規(guī)則:此規(guī)則定義了段地址寄存器和偏移地址寄存器的組合方式,其默認(rèn)規(guī)則如下表:段地址默認(rèn)偏移地址用于訪問(wèn)CSIP指令SSSP、BP堆棧中的數(shù)據(jù)DSB

24、X、DI、SI、8位或16位數(shù)數(shù)據(jù)段中的數(shù)據(jù)ES串指令的DI目標(biāo)串操作數(shù)已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H, DS段有一操作數(shù),其偏移地址=0204H, 1)畫出各段在內(nèi)存中的分布 2)指出各段首地址 3)該操作數(shù)的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解: 各段分布及段首址見(jiàn)右圖所示。 操作數(shù)的物理地址為: 250AH16H+0204H = 252A4H這個(gè)例子說(shuō)明:段與段可以不連續(xù) 段之間可以重疊堆棧及堆棧段的使用操作規(guī)則: 內(nèi)存中一個(gè)按FILO方式(先進(jìn)后出)操 作的特殊區(qū)域。兩種操作: 每次壓棧和退棧均

25、以WORD(16位)為 單位,先進(jìn)高位,再入棧低8位。操作指示: SS存放堆棧段地址,SP存放段內(nèi)偏 移,SS:SP構(gòu)成了堆棧指針。作用: 堆棧用于存放返回地址、過(guò)程參數(shù)或需要 保護(hù)的數(shù)據(jù); 常用于響應(yīng)中斷或子程序調(diào)用。堆棧操作示例SPSSSS壓棧前退棧后高低低高高12HSSF0HSP壓棧后低高SPSPSPF0H12HSP例:(1)若已知(SS)=1000H(SP)=2000H 則堆棧段的段首地址=?棧頂?shù)刂??(2)若現(xiàn)在把1234H送入堆棧,則它所在的存儲(chǔ)單元地址=?(3)若該段最后一個(gè)單元地址為12FFFH,則棧底地址=?段首棧底棧頂堆棧段解:(1)段首地址=10000H, 棧頂?shù)刂?1

26、0000+2000=12000H(2)低8位數(shù)據(jù)34H在11FFEH地址中, 而高8位數(shù)據(jù)12H在11FFFH中 (3)棧底地址=13000H12H34H五、8088CPU的工作時(shí)序時(shí)序的概念:CPU各引腳信號(hào)在時(shí)間上的關(guān)系。時(shí)鐘周期:每個(gè)時(shí)鐘脈沖的持續(xù)時(shí)間成為一個(gè)時(shí)鐘周期,用Ti表示,由時(shí)鐘發(fā)生器產(chǎn)生,是CPU工作的基本時(shí)間單位。PC/XT時(shí)鐘頻率4.77MHz,時(shí)鐘周期是210ns。總線周期:CPU完成一次訪問(wèn)內(nèi)存(或接口)操作所需要的時(shí)間。8088執(zhí)行存儲(chǔ)器讀或存儲(chǔ)器寫操作需用4個(gè)時(shí)鐘周期。 8088的總線周期由4個(gè)時(shí)鐘周期組成,稱為T1、T2、T3、T4狀態(tài); 指令周期P:由若干個(gè)總線

27、周期組成。是從取指令開(kāi)始到指令執(zhí)行完畢所需要的時(shí)間。一個(gè)總線周期時(shí)鐘發(fā)生器RES8284CLKRESET8088IO/MRDWRALEA19A16A15A8+5VMN/MX 一個(gè)典型的總線周期T1T2T3T4地址輸出狀態(tài)輸出地址輸出地址輸出數(shù)據(jù)輸入低電平=讀存儲(chǔ)器,高電平=讀I/O接口CLKA19S6A16S3A15A8AD7AD0ALEIO/MDT/RDEN圖 2-11 8088讀總線周期RDT1T2T3T4低電平,CPU從存儲(chǔ)器或接口讀數(shù)據(jù)一個(gè)總線周期地址輸出狀態(tài)輸出地址輸出地址輸出數(shù)據(jù)輸入低電平=寫存儲(chǔ)器,高電平=寫I/O接口T1T2T3T4CLKA19S6A16S3A15A8AD7AD

28、0ALEIO/MWRDT/RDEN一個(gè)總線周期地址輸出狀態(tài)輸出地址輸出地址輸出數(shù)據(jù)輸入低電平=寫存儲(chǔ)器,高電平=寫I/O接口T1T2T3T4CLKA19S6A16S3A15A8AD7AD0ALEIO/MWRDT/RDEN圖 2-12 8088寫總線周期利用READY信號(hào),使CPU達(dá)到可靠地讀寫內(nèi)存和I/O接口的目的 2.3 80386微處理器 80386是32位微處理器, 分為80386SX 和80386DX兩種型號(hào)。80386DX是標(biāo)準(zhǔn)32位微處理器,80386SX是“準(zhǔn)32位”微處理器。80386有以下特點(diǎn): 80386由6個(gè)邏輯單元組成,按流水線方式工作,運(yùn)行速度4MIPS,與CPU之間

29、的數(shù)據(jù)傳輸速度為32MB/S。多任務(wù)處理更容易,硬件支持多任務(wù)。硬件支持段式管理和頁(yè)式管理,易于實(shí)現(xiàn)虛擬存儲(chǔ)系統(tǒng)。 硬件支持DEBUG功能,并可設(shè)置數(shù)據(jù)斷點(diǎn)和ROM斷點(diǎn)。 4級(jí)特權(quán)級(jí)別:0級(jí)的優(yōu)先級(jí)最高,其次為1、2、3級(jí)。 具有自動(dòng)總線功能,CPU讀/寫數(shù)據(jù)的寬度可以在32位和16位之間自由進(jìn)行轉(zhuǎn)換。 地址信號(hào)線擴(kuò)充到32根,可以尋址4GB空間。 采用高性能協(xié)處理器80387,具備了很強(qiáng)的浮點(diǎn)運(yùn)算能力和很高的運(yùn)算速度。 在每條指令執(zhí)行期間,CPU需要進(jìn)行類型、內(nèi)存越界等保護(hù)特性檢查。 80386的邏輯部件: 80386內(nèi)部分為三大部分:總線接口部件、中央處理部件和存儲(chǔ)器管理部件。中央處理部件

30、又分成指令預(yù)取部件、指令譯碼部件和指令執(zhí)行部件。1總線接口部件80386的總線接口部件BIU的作用和8086的BIU基本相同,控制進(jìn)出CPU的所有數(shù)據(jù)、地址及控制信號(hào)。BIU中含有16字節(jié)指令預(yù)取隊(duì)列??偩€周期僅為2個(gè)時(shí)鐘周期。2中央處理部件(1)指令預(yù)取部件 指令預(yù)取部件包括16字節(jié)的預(yù)取隊(duì)列寄存器,可存放5條左右的指令。 指令代碼預(yù)取不再由BIU負(fù)責(zé),而是由一個(gè)獨(dú)立的指令預(yù)取部件完成。當(dāng)預(yù)取隊(duì)列有空單元或發(fā)生一次控制轉(zhuǎn)移時(shí),預(yù)取部件便通過(guò)分頁(yè)部件向BIU發(fā)出指令預(yù)取請(qǐng)求。分頁(yè)部件將預(yù)取指令指針?biāo)统龅木€性地址變?yōu)槲锢淼刂?,再由BIU及系統(tǒng)總線從內(nèi)存單元中預(yù)取指令代碼,放入預(yù)取隊(duì)列中。(2)指

31、令譯碼部件 80386采用微程序控制技術(shù),指令的執(zhí)行過(guò)程實(shí)際是通過(guò)執(zhí)行由微指令組成的微程序來(lái)實(shí)現(xiàn)的。所有指令對(duì)應(yīng)的微程序存放在其內(nèi)部的控制存儲(chǔ)器中。指令譯碼部件從BIU的指令預(yù)取隊(duì)列中取指令,將操作碼譯成與該指令操作碼相對(duì)應(yīng)的控制ROM的入口地址,存入譯碼指令隊(duì)列中。該隊(duì)列可容納3條已譯碼指令。(3)執(zhí)行部件 該部件從譯碼指令隊(duì)列中取出已譯碼指令并執(zhí)行完成所規(guī)定的操作。3存儲(chǔ)器管理部件(MMU)存儲(chǔ)器管理部件MMU(Memory Management Unit)分為分段部件和分頁(yè)部件。其中分段部件用來(lái)實(shí)現(xiàn)邏輯地址到線性地址的轉(zhuǎn)換,分頁(yè)部件用來(lái)實(shí)現(xiàn)線性地址到物理地址的轉(zhuǎn)換。若分頁(yè)部件處于允許狀態(tài)

32、,則分頁(yè)部件在操作系統(tǒng)的控制下,便產(chǎn)生線性地址到物理地址的轉(zhuǎn)換;若分頁(yè)部件處于禁止?fàn)顟B(tài),線性地址即為物理地址。 480386指令流水線總線接口部件、指令預(yù)取部件、指令譯碼部件和存儲(chǔ)器管理部件構(gòu)成了80386CPU指令流水線。2.3.4 80386內(nèi)部寄存器80386寄存器組是8086寄存器組的超集。除了將原有寄存器擴(kuò)展為32位外,還增加了許多新的寄存器,同時(shí)對(duì)段寄存器作了較大變動(dòng)。原8086寄存器組16位擴(kuò)展為32位寄存器新增寄存器指令指針標(biāo)志寄存器段寄存器通用寄存器控制寄存器系統(tǒng)段寄存器系統(tǒng)地址寄存器80386微處理器的寄存器結(jié)構(gòu)1通用寄存器組80386的通用寄存器為EAX、EBX、ECX、

33、EDX、ESI、EDI、EBP及ESP。其低16位AX、BX、CX、DX、SI、DI、BP、SP可單獨(dú)使用,AX、BX、CX、DX的高、低8位也可以單獨(dú)使用。2段寄存器80386增加了FS和GS兩個(gè)新的段寄存器,在非實(shí)模式下段寄存器內(nèi)容不再是段的基地址,而是指向全局與局部描述符表的段選擇子。在80386微機(jī)系統(tǒng)中編程,必須在存儲(chǔ)器中建立四種系統(tǒng)表:(1)GDT全局描述符表共1個(gè);(2)局部描述符表若干個(gè);(3)IDT中斷描述符表共1個(gè);(4)TSS任務(wù)狀態(tài)段若干個(gè)。描述符表描述符表分為全局描述符表GDT和局部描述符表LDT,容量64KB。存有若干種描述符,段描述符由8個(gè)字節(jié)組成,用來(lái)描述段的基

34、地址、大小和屬性,因此可存放8192個(gè)描述符。索引號(hào)用來(lái)指示段描述符在描述符表中位置TI=0表示選擇GDT,TI=1表示選擇LDT申請(qǐng)者特權(quán)級(jí)別描述符表當(dāng)指令將一個(gè)16位的值賦給段選擇器時(shí),CPU將其索引號(hào)部分所對(duì)應(yīng)的段描述符自動(dòng)加載到描述符寄存器中。每個(gè)段描述符由三部分組成:基地址字段用來(lái)描述所對(duì)應(yīng)段在物理存儲(chǔ)器中的起始地址;邊界字段用來(lái)描述所對(duì)應(yīng)段的大小;屬性字段用來(lái)描述所對(duì)應(yīng)段的屬性。3系統(tǒng)地址寄存器80386設(shè)置了4個(gè)系統(tǒng)地址寄存器:GDTR、LDTR、IDTR和TSSR(或稱TR),分別用來(lái)管理四種系統(tǒng)表,即GDT、LDT、IDT和TSS。GDTR和LDTR為48位寬,而IDTR和T

35、SSR為80位寬。(1)GDTR和GDT的關(guān)系GDT是一個(gè)特殊段,所有任務(wù)共用,系統(tǒng)中只需建立一個(gè),沒(méi)有必要設(shè)置描述符,直接由GDTR決定它的基地址和大小。(2)IDTR和IDT的關(guān)系IDT中存放中斷門描述符/陷阱門描述符,系統(tǒng)只需建立一個(gè)。(3)LDTR和LDT的關(guān)系一個(gè)任務(wù)需要建立一個(gè)LDT, LDT段描述由選擇器字段來(lái)選擇,因此LDTR中需要有段選擇器字段 。LDTR指出當(dāng)前進(jìn)程的LDT描述符在全局描述符表GDT中的位置。(4)TSSR和TSS的關(guān)系和LDT一樣,一個(gè)任務(wù)需要建立一個(gè)TSS。TSSR和TSS與IDTR和IDT的關(guān)系相類似。4指令指針、標(biāo)志寄存器(1)指令指針指令指針EIP

36、存放下一條指令的偏移量,該偏移量是相對(duì)于現(xiàn)行代碼段(CS)基址的偏移。EIP的低16位稱為IP,用于16位尋址。(2)標(biāo)志寄存器標(biāo)志寄存器低12位與8086相同,新增加了四種標(biāo)志。IOPL分4級(jí):03,0級(jí)級(jí)別最高,3級(jí)級(jí)別最低嵌套任務(wù)標(biāo)志為1說(shuō)明當(dāng)前任務(wù)嵌套在另一個(gè)任務(wù)內(nèi)恢復(fù)標(biāo)志為1時(shí),遇到斷點(diǎn)或調(diào)試故障,繼續(xù)執(zhí)行下面的指令。在成功執(zhí)行每條指令時(shí),RF將自動(dòng)被復(fù)位。虛擬8086模式標(biāo)志,該位為1表示80386工作于虛擬86模式5控制寄存器80386內(nèi)部有4個(gè)32位控制寄存器CR0CR3,用來(lái)保存各種全局性狀態(tài), CR0的低16位稱為機(jī)器狀態(tài)字MSW,格式如圖所示。PE保護(hù)模式允許位,PE=1

37、時(shí)CPU處在保護(hù)模式。MP協(xié)處理器監(jiān)控位,MP=1表示有協(xié)處理器。EM仿真協(xié)控制位,EM=1表示用軟件仿真協(xié)處理器。TS任務(wù)轉(zhuǎn)換控制位,當(dāng)任務(wù)轉(zhuǎn)換時(shí)該位自動(dòng)地將該位置1。協(xié)處理器類型位,系統(tǒng)配接80387時(shí)RT=1,配接80287時(shí),ET=06.調(diào)試寄存器和測(cè)試寄存器80386有8個(gè)32位的調(diào)試寄存器DR7DR0。DR3DR0用來(lái)存放斷點(diǎn)地址。DR5和DR4是Intel保留未作定義。DR6調(diào)試狀態(tài)寄存器,存放所有引起類型l異常中斷的事件標(biāo)志。DR7為調(diào)試控制寄存器,高16位分成4個(gè)字段,分別用來(lái)規(guī)定4個(gè)斷點(diǎn)的長(zhǎng)度是一個(gè)字節(jié)還是4個(gè)字節(jié)以及引起斷點(diǎn)的訪問(wèn)類型;低16位用來(lái)允許/禁止4個(gè)斷點(diǎn)以及選

38、擇斷點(diǎn)的條件。80386有8個(gè)32位的測(cè)試寄存器TR7TR0 ,用戶只能訪問(wèn)2個(gè)轉(zhuǎn)換旁路緩沖器的測(cè)試寄存器TR6和TR7。TR6為測(cè)試命令寄存器,存放測(cè)試時(shí)使用的標(biāo)記信息和控制信息。TR7為測(cè)試數(shù)據(jù)寄存器,存放TLB測(cè)試的數(shù)據(jù)。3.3.5 80386存儲(chǔ)器管理 80386具有三種存儲(chǔ)器管理模式:實(shí)地址模式、虛擬8086模式和保護(hù)模式。物理空間的分配和虛擬地址到物理地址的轉(zhuǎn)換,通常是由操作系統(tǒng)完成的,80386系統(tǒng)結(jié)構(gòu)中專門設(shè)置了用于實(shí)現(xiàn)虛擬存儲(chǔ)技術(shù)的硬件機(jī)制。80386把虛擬地址空間分成不同性質(zhì)的兩部分:全局地址空間和局部地址空間。全局地址空間為所有任務(wù)共享;局部地址空間是每一個(gè)任務(wù)占有的獨(dú)立

39、地址空間,存放每個(gè)任務(wù)代碼和數(shù)據(jù)。80386的段選擇子字段是從全局描述符表GDT或局部描述符表LDT中選擇一個(gè)段。虛擬存儲(chǔ)器中可包含有214個(gè)段。由段選擇器的T1位來(lái)決定全局地址空間或局部地址空間。虛擬地址到物理地址的轉(zhuǎn)換虛擬地址由段管理部件轉(zhuǎn)換成線性地址,再由頁(yè)管理部件將線性地址轉(zhuǎn)換成物理地址。如不啟用分頁(yè)功能,線性地址直接作為物理地址。三種模式下的地址轉(zhuǎn)換(1)實(shí)模式的地址轉(zhuǎn)換(2)虛擬8086模式的地址轉(zhuǎn)換增加了可選的分頁(yè)功能2.5 系統(tǒng)總線 主要內(nèi)容:總線的基本概念和分類;總線的工作方式;常用系統(tǒng)總線標(biāo)準(zhǔn)??偩€結(jié)構(gòu)的優(yōu)點(diǎn)1、便于采用模塊結(jié)構(gòu)設(shè)計(jì),簡(jiǎn)化系統(tǒng)設(shè)計(jì)2、可以得到多廠商支持,提高

40、兼容性3、便于擴(kuò)充升級(jí)4、便于故障診斷和維修,減低生產(chǎn)成本一、概述 1.總線的概念 一組導(dǎo)線和相關(guān)的控制、驅(qū)動(dòng)電路的集合。它由一組導(dǎo)線和相關(guān)的控制、驅(qū)動(dòng)電路組成,是計(jì)算機(jī)系統(tǒng)各部件之間傳輸?shù)刂贰?shù)據(jù)和控制信息的公共通道。 總線特點(diǎn)在于公用性,可同時(shí)掛接多個(gè)部件或設(shè)備。 總線一般由多條通信線路組成,每一路信號(hào)線能傳送一位二進(jìn)制0或1,8條信號(hào)線就能在同一時(shí)間并行傳送一個(gè)字節(jié)的信息。2.總線的分類 前端總線:CPU 其他部件系統(tǒng)總線:主機(jī)I/O接口外部總線:微機(jī)外設(shè) 按傳送信息的類型按層次 結(jié)構(gòu)地址總線(AB)數(shù)據(jù)總線(DB)控制總線(CB)按傳送類型分?jǐn)?shù)據(jù)總線(DB) 數(shù)據(jù)總線是計(jì)算機(jī)系統(tǒng)內(nèi)部之

41、間進(jìn)行數(shù)據(jù)傳送的路徑。數(shù)據(jù)總線的傳送方向是雙向的,可以由處理器發(fā)向其他部件,也可以由其他部件將信號(hào)送向處理器。 數(shù)據(jù)總線一般由8條、16條、32條或更多條數(shù)據(jù)線組成,因此,數(shù)據(jù)線的條數(shù)稱為數(shù)據(jù)總線的寬度。 由于每一條數(shù)據(jù)線一次只能傳送一位二進(jìn)制數(shù),因此數(shù)據(jù)結(jié)的條數(shù)決定了每一次能同時(shí)傳送的二進(jìn)制位數(shù)。地址總線(AB) 地址總線用于傳送地址信息,也就是這類總線上所傳送的一組二進(jìn)制0或1表示的是一個(gè)內(nèi)存單元地址或I/O端口地址。它規(guī)定了數(shù)據(jù)總線上的數(shù)據(jù)來(lái)自何處或被送到何處。因地址信息均由系統(tǒng)產(chǎn)生,所以它的傳送方向是單向的。 地址總線的寬度決定了能夠產(chǎn)生的地址碼的個(gè)數(shù),從而也決定了計(jì)算機(jī)系統(tǒng)能夠管理的

42、最大存儲(chǔ)容量。另,在進(jìn)行輸入輸出操作時(shí),地址總線還要傳送I/O端中的地址。而I/O端口的容量遠(yuǎn)低于內(nèi)存容量,所以在尋址時(shí),只用地址總線的低位。控制總線(CB) 控制總線用于傳送各種控制信號(hào),以實(shí)現(xiàn)對(duì)數(shù)據(jù)總線,地址總線的訪問(wèn)及使用情況進(jìn)行控制。控制信號(hào)的作用是在系統(tǒng)內(nèi)各部件之間發(fā)送操作命令和定時(shí)信號(hào)。控制信號(hào)的類型有:寫存儲(chǔ)器命令;讀存儲(chǔ)器命令; I/O寫命令; I/O讀命令; 傳送響應(yīng);總線請(qǐng)求;總線響應(yīng);中斷請(qǐng)求; 中斷響應(yīng);時(shí)鐘和復(fù)位。 控制信號(hào)從總體上來(lái)說(shuō)是雙向的,但就一個(gè)具體的信號(hào)來(lái)說(shuō),其信息的走向是單向的。按總線的層次結(jié)構(gòu)分前端總線 前端總線有地址總線、數(shù)據(jù)總線、和控制總線。一般指從

43、CPU引腳上引出的連接線,用來(lái)實(shí)現(xiàn)CPU與主存儲(chǔ)器、CPU與I/O接口芯片、CPU與控制芯片組等之間的信息傳輸,也用于系統(tǒng)中多個(gè)CPU之間的連接。系統(tǒng)總線 它也有地址總線,數(shù)據(jù)總線,控制總線。它是主機(jī)系統(tǒng)與外設(shè)之間的通信通道。在主板上,系統(tǒng)總線表現(xiàn)為與I/O擴(kuò)展插槽引線連接的一組邏輯電路的導(dǎo)線。有統(tǒng)一標(biāo)準(zhǔn),常見(jiàn)有ISA,PCI,AGP外部總線 它指的是計(jì)算機(jī)主機(jī)與外設(shè)接口的總線,實(shí)際是一種外設(shè)的接口標(biāo)準(zhǔn)。目前流行的接口標(biāo)準(zhǔn)有IDE、SCSI、USB和IEEE1394這四種。3.總線結(jié)構(gòu)1、單總線結(jié)構(gòu) 簡(jiǎn)單,但總線競(jìng)爭(zhēng)嚴(yán)重CPU M M I/O I/O I/O2、多總線結(jié)構(gòu)面向CPU的雙總線結(jié)構(gòu)

44、面向主存的雙總線結(jié)構(gòu)雙總線結(jié)構(gòu)多總線結(jié)構(gòu)(圖2-31)多總線結(jié)構(gòu)(續(xù))教材p77圖2-29:面向CPU的雙總線結(jié)構(gòu)把需要很高帶寬的主存儲(chǔ)器用存儲(chǔ)總線單獨(dú)與CPU相連問(wèn)題:外設(shè)到主存的數(shù)據(jù)傳輸必須通過(guò)CPU, 傳輸效率低,無(wú)法實(shí)現(xiàn)DMA傳輸圖2-30:面向主存的雙總線結(jié)構(gòu)主存儲(chǔ)器即與CPU直接連接,又與系統(tǒng)總線連接,較好地解決了上述問(wèn)題4.總線的操作 接到總線上的設(shè)備有兩種工作方式,主控方式和從屬方式。連接到總線上的設(shè)備分為主控設(shè)備和從屬設(shè)備。主控設(shè)備可以通過(guò)總路線進(jìn)行數(shù)據(jù)傳送。從屬設(shè)備只能按主控設(shè)備的要求工作,接收傳送過(guò)來(lái)的數(shù)據(jù)??偩€周期:總線時(shí)間分為若干個(gè)段,每一個(gè)時(shí)間段完成設(shè)備間的一次信息

45、交換。一個(gè)總線周期分為五個(gè)步驟:總線請(qǐng)求、總線仲裁、尋址、傳送數(shù)據(jù)和傳送結(jié)束。5.總線的主要性能指標(biāo)總線帶寬(B/S):?jiǎn)挝粫r(shí)間內(nèi)總線上可傳送的數(shù)據(jù)量總線位寬(bit):能同時(shí)傳送的數(shù)據(jù)位數(shù)總線的工作頻率(MHz):它是用于協(xié)調(diào)總線上的各種操作的時(shí)鐘信號(hào)的頻率總線帶寬= (位寬/8)(工作頻率/每個(gè)存取周期的時(shí)鐘數(shù))二、總線的基本功能總線傳輸需要解決的問(wèn)題:1、總線傳輸同步協(xié)調(diào)通信雙方的傳輸操作同步、異步、半同步2、總線仲裁控制消除多個(gè)設(shè)備同時(shí)使用總線造成的沖突現(xiàn)象3、出錯(cuò)處理在數(shù)據(jù)傳輸過(guò)程中對(duì)出現(xiàn)錯(cuò)誤的進(jìn)行處理。 4、信號(hào)驅(qū)動(dòng)用三態(tài)輸出電路或集成電路開(kāi)路輸出電路來(lái)驅(qū)動(dòng)總線。1.總線的數(shù)據(jù)傳送

46、、同步定時(shí)方式:用公共的時(shí)鐘統(tǒng)一 各部件數(shù)據(jù)發(fā)送和接收的時(shí)機(jī)。數(shù)據(jù)READYACK總線周期源目的總線執(zhí)行寫同步定時(shí)圖缺點(diǎn):源部件無(wú)法知道目的部件是否已收到數(shù)據(jù),目的部件也無(wú)法知道源部件的數(shù)據(jù)是否已真正送到總線上。、異步傳輸方式:用控制和狀態(tài)信號(hào)協(xié)調(diào)各部件數(shù)據(jù)發(fā)送和接收的時(shí)機(jī) 異步定時(shí)方法中沒(méi)有固定的時(shí)鐘,定時(shí)序列中的每一步都要靠信號(hào)在源剖析和目的部件間的來(lái)回傳送實(shí)現(xiàn)。這些控制信號(hào)的傳送有相當(dāng)可觀的延遲時(shí)間。把某幾步改用等待一足夠長(zhǎng)的固定延遲時(shí)間來(lái)代替對(duì)方傳送過(guò)來(lái)的信號(hào)。這種用固定延遲時(shí)間的信號(hào)叫隱含信號(hào)。根據(jù)隱含信號(hào)的多少,可以把異步總線定時(shí)分為非互鎖、半互鎖和全互鎖三種方式。優(yōu)點(diǎn):任何速度的

47、設(shè)備之間都能互相進(jìn)行通信。缺點(diǎn):延遲時(shí)間較長(zhǎng)。數(shù)據(jù)READYACK非互鎖異步總線定時(shí)圖3、半同步:用公共的時(shí)鐘統(tǒng)一 控制和狀態(tài)信號(hào)的產(chǎn)生時(shí)機(jī)(即控制和狀態(tài)信號(hào)與時(shí)鐘是同步的),但數(shù)據(jù)發(fā)送和接收的時(shí)機(jī)仍不固定。半同步方式是利用時(shí)鐘脈沖的邊沿判斷某一信號(hào)的狀態(tài),或控制某一信號(hào)的產(chǎn)生和消失,使傳輸操作與時(shí)鐘同步。 半同步方式允許不同速度的部件協(xié)同工作,主控設(shè)備可以根據(jù)地從屬設(shè)備的狀態(tài)自動(dòng)延長(zhǎng)總線時(shí)鐘周期,但改變后的總線周期一定是時(shí)鐘周期的整數(shù)倍。例8086CPU的總線周期插入等待就是半同步的一個(gè)實(shí)例。2.總線仲裁(總線判優(yōu)) 當(dāng)總線上的一個(gè)部件要與另一個(gè)部件進(jìn)行通信時(shí),首先應(yīng)該發(fā)出請(qǐng)求信號(hào)。在某一時(shí)

48、刻,可能有多個(gè)部件同時(shí)要求使用總線,總線仲裁控制機(jī)構(gòu)根據(jù)一定的判決原則,決定首先由哪個(gè)部件使用總線,只有獲得了總線使用權(quán)的部件,才能開(kāi)始數(shù)據(jù)傳送。用來(lái)決定某一時(shí)刻哪一個(gè)部件可以使用總線集中控制統(tǒng)一由總線控制器進(jìn)行控制分散控制總線控制由各部件共同實(shí)現(xiàn),所有部件均按統(tǒng)一的規(guī)則來(lái)訪問(wèn)總線 總線仲裁集中控制 1)鏈?zhǔn)讲樵儯╬82圖2-34)基本原理是:部件提出申請(qǐng)(BR)總線控制器發(fā)出批準(zhǔn)信號(hào)(BG)提出申請(qǐng)的部件截獲BG,并禁止BG信號(hào)進(jìn)一步向后傳播提出申請(qǐng)的部件發(fā)出總線忙信號(hào)(BS),開(kāi)始使用總線??偩€忙信號(hào)將阻止其他部件使用總線,直到使用總線的設(shè)備釋放總線電路最簡(jiǎn)單,但優(yōu)先級(jí)固定,不能改變總線控

49、制部件設(shè)備接口0設(shè)備接口1設(shè)備接口n數(shù)據(jù)總線地址總線BSBRBG鏈?zhǔn)讲樵兎绞教攸c(diǎn):總線回答信號(hào)BG的傳送是串行地從一個(gè)I/O接口送到下一個(gè)I/O接口,若BG到達(dá)的接口無(wú)總線請(qǐng)求,則繼續(xù)下傳。若有總線請(qǐng)求,BG信號(hào)不再下傳,則這個(gè)I/O口獲得總線的使用權(quán)。總線仲裁集中控制 2)計(jì)數(shù)器查詢(p83圖2-35)基本原理是:需要使用總線的部件提出申請(qǐng)(BR)總線控制器發(fā)出遞增的設(shè)備地址提出申請(qǐng)的設(shè)備檢查設(shè)備地址,若與自己的地址匹配,就發(fā)出總線忙信號(hào)(BS),然后就可以使用總線總線控制器根據(jù)檢測(cè)到BS信號(hào)時(shí)的設(shè)備地址就知道當(dāng)前哪個(gè)設(shè)備使用了總線調(diào)整設(shè)備地址發(fā)出的順序即可改變優(yōu)先級(jí)別仲裁過(guò)程較慢總線控制部

50、件設(shè)備接口0設(shè)備接口1設(shè)備接口n數(shù)據(jù)總線地址總線BSBRBG計(jì)數(shù)器查詢方式特點(diǎn):計(jì)數(shù)器的初值可以用程序來(lái)設(shè)置,可以方便地改變優(yōu)先級(jí)次序??偩€仲裁集中控制 3)獨(dú)立請(qǐng)求(p84圖2-36)基本原理是:每個(gè)設(shè)備都擁有獨(dú)立的總線請(qǐng)求線和總線應(yīng)答線總線控制器對(duì)所有的總線請(qǐng)求進(jìn)行優(yōu)先級(jí)排隊(duì),并響應(yīng)級(jí)別最高的請(qǐng)求得到響應(yīng)的設(shè)備將占用總線進(jìn)行傳輸最常用,響應(yīng)速度最快總線控制部件設(shè)備接口n設(shè)備接口1設(shè)備接口0數(shù)據(jù)總線地址總線BGnBRnBG0BR0獨(dú)立請(qǐng)求方式3.總線驅(qū)動(dòng)及出錯(cuò)處理總線驅(qū)動(dòng) 每個(gè)接口電路都要有從總線上吸收電流,因此要有總線驅(qū)動(dòng)。常用的總線驅(qū)動(dòng)器是三態(tài)總線驅(qū)動(dòng)器,但總線驅(qū)動(dòng)器的驅(qū)動(dòng)能力有限,在擴(kuò)充外設(shè)時(shí),一個(gè)模塊或部件限制1、2個(gè)負(fù)載。出錯(cuò)處理 數(shù)據(jù)在傳送過(guò)程中可能產(chǎn)生錯(cuò)誤,解決的方法是在傳輸?shù)臄?shù)據(jù)中增加一些冗佘位,使冗佘位與傳送的數(shù)據(jù)具有特殊的關(guān)系,若這種特殊關(guān)系存在,表示接收的數(shù)據(jù)正確,特殊關(guān)系不存在,表示接收的數(shù)據(jù)出錯(cuò)。在發(fā)現(xiàn)錯(cuò)誤后,處理錯(cuò)誤的方法有兩種。總線控制器和設(shè)備接口中的總線接口部件有自動(dòng)糾錯(cuò)功能。若部件中無(wú)自動(dòng)糾錯(cuò)電路,可在發(fā)現(xiàn)錯(cuò)誤后發(fā)出“數(shù)據(jù)出錯(cuò)”信號(hào)讓CPU來(lái)進(jìn)行錯(cuò)誤處理,通常是向CPU發(fā)出中斷請(qǐng)求信號(hào),CPU響應(yīng)中斷后,轉(zhuǎn)入錯(cuò)誤處理程序來(lái)處理異常情況。三、常見(jiàn)的系統(tǒng)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論