《微型計(jì)算機(jī)原理與接口技術(shù)》第2章微型處理器與總線
《《微型計(jì)算機(jī)原理與接口技術(shù)》第2章微型處理器與總線》由會員分享,可在線閱讀,更多相關(guān)《《微型計(jì)算機(jī)原理與接口技術(shù)》第2章微型處理器與總線(117頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第 2章 微型處理器與總線 2.1 微處理器概述 微處理器是計(jì)算機(jī)的核心部件,具有下面幾個特點(diǎn): 能夠進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算; 能對指令進(jìn)行譯碼,寄存并執(zhí)行指令所規(guī)定的操作 具有與存儲器和 I/O接口進(jìn)行數(shù)據(jù)通信的能力 少量數(shù)據(jù)的暫存 能夠提供系統(tǒng)所需要的定時和控制信號 能夠響應(yīng)輸入輸出設(shè)備發(fā)出的中斷請求 人們常說的 16位機(jī), 32位機(jī)是表示計(jì)算機(jī)中微處理器內(nèi)部數(shù) 據(jù)總線的寬度 -CPU可以同時操作的二進(jìn)制碼的位數(shù)?,F(xiàn)在的 CPU都是 32位的。 一、 運(yùn)算器 運(yùn)算 器的 組成 算術(shù)邏輯單元 :它的內(nèi)部包括加、減、乘、 除運(yùn)算的加法器,及實(shí)現(xiàn)與、或、非、異或 等邏輯運(yùn)算功能的部件。 通用或?qū)?/p>
2、用寄存器組 : 提供操作數(shù)和暫存中 間運(yùn)算結(jié)果及結(jié)特征; 內(nèi)部總線 : 用于傳送數(shù)據(jù)和指令 運(yùn)算器的結(jié)構(gòu)按內(nèi)部總線數(shù)量不同分為: 1、單總線結(jié)構(gòu)運(yùn)算器 寄存器組 A B ALU 所有部件通過一條內(nèi)部總線傳遞信息 ,任何時刻只有一組數(shù)據(jù)從源部件傳 送到目標(biāo)部件。當(dāng)要進(jìn)行一次雙操作 數(shù)的運(yùn)算時,首先通過總線將第一個 操作數(shù)放入鎖存器 A或 B中,然后現(xiàn) 通過總線傳送另一個操作數(shù)到另一個 鎖存器中,之后進(jìn)入 ALU進(jìn)行運(yùn)算。 運(yùn)算結(jié)果再通過總線送到內(nèi)部通用寄 存器。 特點(diǎn):結(jié)構(gòu)簡單,但速度比較慢。 2、雙總線結(jié)構(gòu)運(yùn)算器 寄存器組 緩沖區(qū) BUS BUS ALU 雙總線結(jié)構(gòu)在運(yùn)算器內(nèi)部用兩條總 線來傳
3、送數(shù)據(jù),參加運(yùn)算的操作數(shù) 可以同時通過兩條總線送到 ALU進(jìn) 行運(yùn)算,運(yùn)算結(jié)果經(jīng)緩沖器再通過 任意一條總線送到通用寄存器。 特點(diǎn):運(yùn)算速度比單總線結(jié)構(gòu)要快。 3、三總線結(jié)構(gòu)運(yùn)算器 寄存器組 旁路器 BUS ALU 它用兩條總線來傳送操作數(shù), 一條專門用于傳送運(yùn)算結(jié)果。 特點(diǎn):只要 ALU運(yùn)算速度足夠快,全部操作 可一步完成。 二、 控制器 控制器的作用:控制程序的執(zhí)行,必須具備以下幾處功能 1、完成指令控制 指令在存儲器中是連續(xù)存放的,一般情況下,指令被按照順序一 條條取出執(zhí)行,只有在碰到轉(zhuǎn)移指令時才會改變順序??刂破饕?根據(jù)指令所在的地址按順序或在遇到轉(zhuǎn)移指令時按照轉(zhuǎn)移地址取出 指令,分析
4、指令,傳送必要的操作數(shù),并在指令執(zhí)行結(jié)束后存放運(yùn) 算結(jié)果。 2、實(shí)現(xiàn)時序控制 指令的執(zhí)行是在時鐘信號的控制下進(jìn)行的。一條指令的執(zhí)行時間 為指令周期。不同的指令周期中所包含的機(jī)器周期數(shù)是不相同的。 而一個機(jī)器周期中包含多少節(jié)拍也是不一樣的。時序信號由控制器 產(chǎn)生,使系統(tǒng)按一定的時序關(guān)系進(jìn)行工作。 3、完成操作控制 、根據(jù)指令流程,確定在指令周期的各個節(jié)拍中要產(chǎn)生的微 操作控制信號,以有效地完成各條指令的操作過程。 、還要對異常情況及某些外部請求的處理能力。 控制器的組成: 程序計(jì)數(shù)器 PC:用來存放下一條要執(zhí)行的指令在存儲器中的地址 指令寄存器 IR:用來存放從存儲器中取出的待執(zhí)行的指令。 指令
5、譯碼器 ID:對指令寄存器中的指令進(jìn)行“翻譯”以確定進(jìn)行 什么操作; 時序控制器:產(chǎn)生計(jì)算機(jī)工作中所要的各種時序信號; 微操作控制部件:用于產(chǎn)生與各條指令相對應(yīng)的微操作。 一條指令的功能是通 過按一定次序執(zhí)行一 系列基本操作完成的 。 微 操 作 控 制 指令譯碼 指令寄存器 地址加法器 程序計(jì)數(shù)器 時序邏輯 自存儲器 至存儲器 各部 件微 操作 控制 信號 : 控制器結(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的工作 時序 概述 8088、 8
6、086基本 類似 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/IO 8088為準(zhǔn) 16位 CPU,內(nèi)部 DB為 16位,但外部 僅為 8位, 16位數(shù)據(jù)要分兩次傳送 本課程主要介紹 8088( IBM PC采用) 一 .8088/8086 CPU的 特點(diǎn) 1、采用 并行流水線 工作方式 2、對 內(nèi)存空間 實(shí)行 分段管理 : 每段大小為 16B 64KB 用段地址和段內(nèi)偏移實(shí)現(xiàn)對 1MB空間的尋址 設(shè)置地址段寄存器指
7、示段的首地址 3、支持 多處理器 系統(tǒng)( 最大模式 ); 指令的 一般 執(zhí)行過程: 取指令 指令譯碼 讀取操作數(shù) 執(zhí)行指令 存放結(jié)果 1.8088/8086的指令流水線 串行和并行方式的指令流水線: 串行工作方式: BIU(總線接口單元)和 EU(執(zhí)行單元) 交替工作,按順序完成上述指令執(zhí)行過程 ; 并行工作方式: BIU和 EU可同時工作。 串行 工作方式: 8088以前的 CPU采用串行工作方式: 1) CPU訪問存儲器 (存取數(shù)據(jù)或指令 )時要等待總線操作的完成 2) CPU執(zhí)行指令時總線處于空閑狀態(tài) 缺點(diǎn): CPU無法全速運(yùn)行 解決: 總線空閑時預(yù)取指令,使 CPU需要指令時能立刻得到
8、 取指令 1 執(zhí)行 1 取操 作數(shù) 2 執(zhí)行 2 CPU BUS 忙碌 忙碌 忙碌 忙碌 存結(jié)果 1 取指令 2 取指令和執(zhí)行指令示意圖( 1) 8位 CPU( 如 8080) tnT 30 t t 忙 忙 忙 總線 BUS CPU 取指 1 分析 指令 1 執(zhí)行 指令 1 取指 2 分析 指令 2 執(zhí)行 指令 2 取指 3 分析 指令 3 執(zhí)行 指令 3 將 指 令 的 執(zhí) 行 過 程 簡 化 為 三 步 , 并 設(shè) 這 三 步 所 要 的 時 間 完 全 相 等 都 是 執(zhí) 行 n 條 指 令 所 要 的 時 間 為 : tnT30 若不考慮取操作數(shù)和寫結(jié)果,將指令的執(zhí)行過程 可簡化為三步
9、,并設(shè)這三步所要的時間完全相等, 都為 ,采用順序執(zhí)行方式執(zhí)行 n條指令所要的時 間為 t tnT 30 并行 工作方式: 8088CPU采用并行工作方式 忙碌 并行執(zhí)行 n條指令所要的時間為: tntntT )2()1(30 取指令 2 取操作數(shù) BIU 存結(jié)果 取指令 3 取操作數(shù) 取指令 4 執(zhí)行 1 執(zhí)行 2 執(zhí)行 3 EU BUS 忙碌 忙碌 忙碌 忙碌 忙碌 CPU 忙碌 8088/8086的 流水線 操作 1.8088 CPU包括兩大部分: EU(執(zhí)行單元)和 BIU(總線接口單元) 、 BIU不斷地從存儲器取指令送入 IPQ(指令預(yù)取列 隊(duì)), EU不斷地從 IPQ取出指令執(zhí)行
10、 、 EU和 BIU構(gòu)成了一個簡單的 2工位 流水線 、 指令預(yù)取隊(duì)列 IPQ是實(shí)現(xiàn)流水線操作的關(guān)鍵(類似 于 工廠流水線的傳送帶 ) 2.新型 CPU將一條指令劃分成更多的階段,以便可 以同時執(zhí)行更多的指令 例如, PIII為 14個階段, P4為 20個階段 (超級流水線 ) 結(jié)論 指令預(yù)取隊(duì)列 IPQ的 作用 : 使 EU和 BIU兩個部分可 同時 進(jìn)行工作, 從而帶來了以下兩個好處: 1、提高 了 CPU的效率 2、降低 了對存儲器存取速度的要求 2.內(nèi)存的分段管理技術(shù) 8088的 CPU的內(nèi)部結(jié)構(gòu)都是 16位的,內(nèi)部總線只能傳 送 16位二進(jìn)制碼。如果用二進(jìn)制碼表示地址, 8088就
11、只 能產(chǎn)生 64K個地址。 為了提高系統(tǒng)的執(zhí)行速度, 8088將內(nèi)存空間分為多個 邏輯段,每個邏輯段最大為 64K個單元,段內(nèi)每個單元的 地址碼(偏移地址)長度為 16位。再為每個段設(shè)置段地 址(段基地址),以區(qū)分不同的邏輯段。 8088CPU內(nèi)部具有專門存放段地址的段寄存器和存放 偏移地址的地址寄存器,將兩類不同寄存器的內(nèi)容送入 地址加法器合成,形成了指向內(nèi)存某一具體單元的地址 (物理地址) 3.支持多處理器系統(tǒng) 8088具有最小和最大兩種工作模式及內(nèi)置的多任務(wù) 處理能力,可通過模式選擇引腳進(jìn)行選擇。 最小模式也稱為單處理器模式。此時 CPU僅支持由 少量設(shè)備組成的單處理機(jī)系統(tǒng)而不支持多處理
12、器結(jié)構(gòu) 。系統(tǒng)控制總線的信號由 8088CPU直接產(chǎn)生,且構(gòu)成 的系統(tǒng)不能進(jìn)行 DMA(直接存儲器存?。﹤魉汀?最大模式也稱多處理模式,此時 CPU能支持系統(tǒng)總 線上的多個處理器,由總線控制器提供所有總線控制 信號和命令信號。 二、 8088 CPU的引線及功能 40引腳 定義方法 可大致分為: 每個引腳只傳送一種信息( RD等); 引腳電平的高低不同的信號( IO/M等); CPU工作于不同方式有不同的名稱和定義 ( WR/LOCK 等); 分時復(fù)用引腳( AD7 AD0 等) ; 引腳的輸入和輸出分別傳送不同的信息 ( RQ/GT等)。 地址 /數(shù)據(jù)線 地址 /狀態(tài)線 非屏蔽中斷 可屏蔽中
13、斷請求 最小最大模式控制 MN/MX=1,最小模式 MN/MX=0,最大模式 讀信號 總線保持請求信號 總線保持相應(yīng)信號 寫信號 存儲器 /IO控制信號 M/IO=1,選中存儲器 M/IO=0,選中 IO接口 數(shù)據(jù)發(fā)送 /接收信號 DT/R=1,發(fā)送 DT/R=0,接收 數(shù)據(jù)允許信號 地址允許信號 中斷響應(yīng)信號 測試信號 :執(zhí)行 WAIT指令, CPU處于空轉(zhuǎn)等待 ; TEST有效時 ,結(jié)束等待狀態(tài)。 準(zhǔn)備好信號 :表示內(nèi)存 或 I/O設(shè)備準(zhǔn)備好, 可以進(jìn)行數(shù)據(jù)傳輸。 復(fù)位信號 8086CPU引腳功能 地址狀態(tài)復(fù) 用引腳 地址 /數(shù)據(jù)線 非屏蔽中斷 可屏蔽中斷請求 最小最大模式控制 MN/MX
14、=1,最小模式 MN/MX=0,最大模式 讀信號 總線保持請求信號 寫信號 存儲器 /IO控制信號 M/IO=1,選中存儲器 M/IO=0,選中 IO接口 數(shù)據(jù)允許信號 測試信號 :執(zhí)行 WAIT指令, CPU處于空轉(zhuǎn)等待 ; TEST有效時 ,結(jié)束等待狀態(tài)。 準(zhǔn)備好信號 :表示內(nèi)存 或 I/O設(shè)備準(zhǔn)備好, 可以進(jìn)行數(shù)據(jù)傳輸。 復(fù)位信號 地址狀態(tài)復(fù) 用引腳 地址允許信號 1、主要引線( 最小模式 下) 8088是工作在 最小 還是 最大 模式由 MN/MX端狀態(tài) 決定: MN/MX=0時工作于最大模式,反之工作于 最小模式。 數(shù)據(jù)信號線 (DB)與地址信號線 (AB): AD7 AD0: 地址
15、、數(shù)據(jù)分時復(fù)用的雙向信號線,三態(tài)。 當(dāng) ALE=1有效時為地址的低 8位。當(dāng)(數(shù)據(jù)允許信號) DEN=0時,傳送數(shù)據(jù)信號,此時為雙向。 A19 A16: 地址、狀態(tài)復(fù)用引腳,三態(tài)輸出。在某一 時刻輸出高 4位地址信號,另外時刻,送出狀態(tài)信號 S6- S3分時復(fù)用。 S6恒等于 0, S5為指示中斷允許標(biāo)志 IF狀 態(tài), S4, S3組合指示 CPU當(dāng)前正使用的段寄存器。如表 2-1。 A15 A8 : 中 8位地址信號, 三態(tài)輸出。 CPU尋址內(nèi)存 或接口時, 輸出中 8位地址信號 。 主要的控制 (CB)和狀態(tài)信號 WR: 三態(tài),輸出。寫命令信號,低電平有效; RD: 三態(tài),輸出。讀命令信號
16、,低電平有效; IO/M: 三態(tài),輸出。指出當(dāng)前訪問的是存儲器還是 I/O接口。高電平: I/O接口,低電平:內(nèi)存 DEN: 三態(tài),輸出。數(shù)據(jù)允許信號,低電平時,表示 DB上的數(shù)據(jù)有效; RESET: 輸入,系統(tǒng)復(fù)位輸入信號;為高時, CPU 執(zhí)行復(fù)位;復(fù)位后 CPU內(nèi)部寄存器狀態(tài)如表 2-3。 ALE: 三態(tài),輸出,地址鎖存信號。高: AB地址有 效; DT/ R:三態(tài),輸出。數(shù)據(jù)傳送方向控制信號,高: CPU輸出, 低: CPU輸入。 例 : 當(dāng) WR=1, RD=0, IO/M=0時, 表示 CPU當(dāng)前正在進(jìn)行 讀存儲器 操作。 READY信號 (輸入 ): 用于協(xié)調(diào) CPU與存儲器、
17、I/O接口之間的速度差異 READY信號由存儲器或 I/O接口發(fā)出。它是高電平 有效。 READY=0時, CPU就在 T3后插入 TW周期,插入的 TW個數(shù)取決于 READY何時變?yōu)楦唠娖健?中斷請求和響應(yīng)信號 INTR: 輸入, 可屏蔽 中斷請求輸入端。 高電平 :有 INTR中斷請求 NMI: 輸入, 非屏蔽 中斷請求輸入端。 低 高(上升沿) ,有 NMI中斷請求 INTA: 中斷響應(yīng)輸出,對 INTR信號的響應(yīng)。 總線保持信號 HOLD: 輸入總線保持請求信號輸入端。當(dāng) CPU以外的其他設(shè)備 (如 DMA)要求占用總線 時,通過該引腳向 CPU發(fā)出請求。 HLDA: 總線保持響應(yīng)信號
18、輸出,對 HOLD信 號的響應(yīng)。為高電平時,表示 CPU已放棄總 線控制權(quán),所有三態(tài)信號線如讀、寫信號線, 地址信號等均變?yōu)楦咦锠顟B(tài)。 2、最大模式下的引腳 1)、總線周期狀態(tài)信號輸出 S2, S1, S0 指出當(dāng)前總 線周期操作的類型,低電平有效。如,中斷響應(yīng)、讀寫存 貯器或 IO端口等。此信號送至總線控制器 8288,以產(chǎn)生 相應(yīng)的總線控制信號。 2)、總線請求 /總線響應(yīng)信號 RQ/GT1, RQ/GT0 提供 2路其他主控設(shè)備發(fā)出總線請求信號和 CPU的響應(yīng)信號 。 當(dāng)其它設(shè)備的總線控制設(shè)備要使用系統(tǒng)總線時,產(chǎn)生一 個總線請求信號,并送到 RQ/GT引腳,類似最小模式下 的 HOLD信
19、號。 CPU檢測到請求后,在下一個 T4或 T1期間 在 RQ/GT送出一個總線響應(yīng)信號。 4、指令隊(duì)列狀態(tài)信號輸出 QS1, QS0 提供當(dāng)前的 指令隊(duì)列狀態(tài)。 QS1 QS0 含義 0 0 無操作 0 1 取走指令第 1字節(jié)代碼 1 0 隊(duì)列空(取完) 1 1 取走指令后續(xù)字節(jié)代碼 3、總線封鎖信號輸出 LOCK 當(dāng) LOCK=0(有效)時, CPU封鎖總線不允許其他總線部件占用總線。 三、 8088CPU的 功能結(jié)構(gòu) 8088內(nèi)部由 兩部分 組成: 執(zhí)行單元 ( EU) 總線接口單元 ( BIU) CX AX DX FLAGS 暫存寄存器 ALU SP DI BH BL AH AL DH
20、 CH CL DL BP SI EU 控制部件 1 2 3 4 總線控 制邏輯 SS 內(nèi)部通信寄存器 ES DS CS IP 地址加法器 BX 通 用 寄 存 器 組 ALU數(shù)據(jù)總線 16位 指令列隊(duì) 地址總線 20位 數(shù)據(jù)總線 16位 8080 總線 8位 Q總線 1.8088CPU內(nèi)部結(jié)構(gòu) EU BIU 執(zhí)行單元 EU 功能 : 執(zhí)行指令 從指令隊(duì)列中取指令代碼 譯碼 在 ALU中完成數(shù)據(jù)的運(yùn)算 運(yùn)算結(jié)果 的特征保存在標(biāo)志寄存器 FLAGS中。 執(zhí)行單元 EU包括 算術(shù)邏輯單元(運(yùn)算器 ALU) 8個通用寄存器(通用 Regs) 1個標(biāo)志寄存器( Flags) EU部分控制電路(部分 CU
21、) 總線接口單元 BIU 功能: 1、從內(nèi)存中 取指令 送入指令預(yù)取隊(duì)列 IPQ 2、負(fù)責(zé)與內(nèi)存或輸入 /輸出接口之間的 數(shù)據(jù) 傳送 在執(zhí)行轉(zhuǎn)移程序時, BIU使指令預(yù)取隊(duì)列 IPQ 復(fù)位,從指定的新地址取指令,并立即傳給 執(zhí)行單元執(zhí)行。 總線接口單元 BIU的組成 段寄存器 指令指針寄存器 指令隊(duì)列 地址加法器 總線控制邏輯 2.8088的內(nèi)部寄存器 含 14個 16位寄存器 ,按功能可分為三類 8個通用寄存器(通用 Regs) 4個段寄存器 ( Seg Regs) 2個控制寄存器( Con Regs) 專用 Regs 通用寄存器 ( 通用 Regs) 數(shù)據(jù)寄存器( AX, BX, CX,
22、DX) 地址指針寄存器( SP, BP) 變址寄存器( SI, DI) 數(shù)據(jù)寄存器 8088含 4個 16位數(shù)據(jù)寄存器,它們又可分 為 8個 8位寄存器,即: AX AH, AL BX BH, BL CX CH, CL DX DH, DL 作用 : 常用來存放參與運(yùn)算的操作數(shù)或運(yùn)算結(jié)果 數(shù)據(jù)寄存器特有的 習(xí)慣用法 AX: 累加器 。多用于存放中間運(yùn)算結(jié)果 ; 所有 I/O指令必須都通過 AX 與接口傳送信息 . BX: 基址寄存器 。在間接尋址中用于存放基地址; CX: 計(jì)數(shù)寄存器 。用于在循環(huán)或串操作指令中存放 循環(huán)次數(shù)或重復(fù)次數(shù) . DX: 數(shù)據(jù)寄存器 。在 32位乘除法運(yùn)算時存放高 16
23、位數(shù) ; 在間接尋址的 I/O指令中存放 I/O端口地址。 地址指針寄存器 SP:堆棧指針寄存器 . 其內(nèi)容為棧頂?shù)钠频刂罚?BP: 基址指針寄存器 . 常用于在訪問內(nèi)存時存放內(nèi)存單 元的 偏移地址。 BX與 BP在應(yīng)用上的區(qū)別 相同點(diǎn) : 作為 通用寄存器 , 二者均可用于存放數(shù)據(jù); 不同點(diǎn) : 作為 基址寄存器 , BX通常用于尋址 數(shù)據(jù)段 ; BP通常用于尋址 堆棧段 。 BX一般與 DS或 ES搭配使用 ; BP一般與 SS拾配 . 注: 間接尋址時 僅 BX、 BP、 SI、 DI可用于存儲器尋址; 僅 DX可用于 I/O尋址。 變址寄存器 SI: 源變址寄存器 DI: 目標(biāo)變址寄
24、存器 作用 : 變址寄存器常用于指令的 間接尋 址 或 變址尋址 。 特別是在 串操作指令 中,用 SI存 放 源操作數(shù)的偏移地址 ,而用 DI存放 目標(biāo)操作數(shù)的偏移地址 。 段寄存器 ( 專用 Seg Regs ) 作用 : 用于存放邏輯段的段基地址 (邏輯段的概念后面將要介紹 ) CS: 代碼段寄存器 代碼段用于存放指令代碼 DS: 數(shù)據(jù)段寄存器 ES: 附加段寄存器 數(shù)據(jù)段和附加段用來存放操作數(shù) SS: 堆棧段寄存器 堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù) 數(shù)據(jù)段 DS/ES 代碼段 CS 堆棧段 SS 控制寄存器 ( 專用 Con Regs ) IP: 指令指針寄存器 ,其內(nèi)
25、容為下一條 要執(zhí)行的指令的偏移地址 FLAGS: 標(biāo)志寄存器 狀態(tài)標(biāo)志 :存放運(yùn)算結(jié)果的特征 6個狀態(tài)標(biāo)志位 (CF, SF, AF, PF, OF, ZF) 控制標(biāo)志 :控制某些特殊操作 3個控制標(biāo)志位 (IF, TF, DF) O D I T S Z A P C 15 0 2 4 6 7 8 9 10 11 FLAGS 四、存儲器 的 尋址 物理地址 8088: 20根地址線,可尋址 220=1MB個存 儲單元 CPU送到 AB上的 20位的地址稱為 物理地址 物理地址 物理地址 . . 60000H 60001H 60002H 60003H 60004H . . . 12H F0H 1B
26、H 08H 存儲器的操作完全基于 物理地址。 問題: 8088的內(nèi)部總線和內(nèi)部 寄存器均為 16位,如何 生成 20位地址 ? 解決: 存儲器分段 存儲器分段 高地址 低地址 段基址 段基址 段基址 段基址 最大 64KB,最小 16B 段 i-1 段 i 段 i+1 邏輯地址 段基地址 和 段內(nèi) 偏移 組成了 邏輯地址 段地址 偏移地址 (偏移量 ) 格式為: 段地址 :偏移地址 物理地址 =段基地址 16+偏移地址 60002H 00H 12H 60000H 0 0 0 0 段基地址( 16位) 段首地址 偏移地址 =0002H BIU中的 地址加法 器用來實(shí)現(xiàn)邏輯地址到物理地 址的變換
27、8088 可同時訪問 4個段 , 4個段寄存器中的內(nèi)容 指示了每個段的基地址 段基址 段內(nèi)偏移 物理地址 + 16位 20位 0000 默認(rèn)段和偏移寄存器 8086規(guī)定了訪問存儲器段的規(guī)則: 此規(guī)則定義了段地址寄存器和偏移地址寄存器的 組合方式,其默認(rèn)規(guī)則如下表: 段 地 址 默認(rèn)偏移地址 用于訪問 CS IP 指令 SS SP、 BP 堆棧中的 數(shù)據(jù) DS BX、 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)畫
28、出各段在內(nèi)存中的分布 2)指出各段首地址 3)該操作數(shù)的物理地址 =? 10550H 250A0H 2EF00H 8FF00H CS SS DS ES 解: 各段分布及段首址見右圖所示。 操作數(shù)的物理地址為: 250AH 16H+0204H = 252A4H 這個例子說明: 段與段可以不連續(xù) 段之間可以重疊 堆棧及堆棧段的使用 操作規(guī)則 : 內(nèi)存中一個按 FILO方式(先進(jìn)后出)操 作的特殊區(qū)域。 兩種操作 : 每次壓棧和退棧均以 WORD( 16位)為 單位,先進(jìn)高位,再入棧低 8位。 操作指示 : SS存放堆棧段地址, SP存放段內(nèi)偏 移, SS:SP構(gòu)成了堆棧指針。 作用 : 堆棧用于存
29、放返回地址、過程參數(shù)或需要 保護(hù)的數(shù)據(jù) ; 常用于響應(yīng)中斷或子程序調(diào)用。 堆棧操作示例 SP SS SS 壓棧前 退棧后 高 低 低 高 高 12H SS F0H SP 壓棧后 低 高 SP SP SP F0H 12H SP 例: (1)若已知( SS) =1000H( SP) =2000H 則堆棧段的段首地址 =?棧頂?shù)刂?=? (2)若現(xiàn)在把 1234H送入堆棧,則它所在 的存儲單元地址 =? (3)若該段最后一個單元地址為 12FFFH, 則棧底地址 =? 段首 棧底 棧頂 堆 棧 段 解 :(1)段首地址 =10000H, 棧頂?shù)刂?=10000+2000=12000H (2)低 8位
30、數(shù)據(jù) 34H在 11FFEH地址中 , 而高 8位數(shù)據(jù) 12H在 11FFFH中 (3)棧底地址 =13000H 12H 34H 五、 8088CPU的工作時序 時序的概念 : CPU各引腳信號在時間上的關(guān)系。 時鐘周期 :每個時鐘脈沖的持續(xù)時間成為一個時鐘 周期,用 Ti表示,由時鐘發(fā)生器產(chǎn)生,是 CPU工作 的基本時間單位。 PC/XT時鐘頻率 4.77MHz, 時鐘 周期是 210ns。 總線周期 : CPU完成一次訪問內(nèi)存 (或接口 )操作所 需要的時間。 8088執(zhí)行存儲器讀或存儲器寫操作 需用 4個時鐘周期 。 8088的總線周期由 4個時鐘周 期組成,稱為 T1、 T2、 T3、
31、 T4狀態(tài); 指令周期 P: 由若干個總線周期組成。是從取指令開 始到指令執(zhí)行完畢所需要的時間。 一個總線周期 時鐘發(fā) 生器 RES 8284 CLK RESET 8088 IO/M RD WR ALE A19 A16 A15 A8 + 5 V MN/MX 一個典型的總線周期 T1 T2 T3 T4 地址輸出 狀態(tài)輸出 地址輸出 地址輸出 數(shù)據(jù)輸入 低電平 =讀存儲器,高電平 =讀 I/O接口 CLK A19S6 A16S3 A15 A8 AD7 AD0 ALE IO/M DT/R DEN 圖 2-11 8088讀總線周期 RD T1 T2 T3 T4 低電平, CPU從存儲器或接口讀數(shù)據(jù) 一
32、個總線周期 地址輸出 狀態(tài)輸出 地址輸出 地址輸出 數(shù)據(jù)輸入 低電平 =寫存儲器,高電平 =寫 I/O接口 T1 T2 T3 T4 CLK A19S6 A16S3 A15 A8 AD7 AD0 ALE IO/M WR DT/R DEN 一個總線周期 地址輸出 狀態(tài)輸出 地址輸出 地址輸出 數(shù)據(jù)輸入 低電平 =寫存儲器,高電平 =寫 I/O接口 1 2 3 4 CLK 19S6 A16S3 A15 8 AD7 0 ALE IO/M DT/R DEN 圖 2-12 8088寫總線周期 利用 READY信號,使 CPU達(dá)到可靠地 讀寫內(nèi)存和 I/O接口的目的 2.3 80386微處理器 80386是
33、 32位微處理器 , 分為 80386SX 和 80386DX兩種型號。 80386DX是標(biāo)準(zhǔn) 32位微處理器, 80386SX是 “ 準(zhǔn) 32位 ” 微處理器。 80386有以下特點(diǎn): 80386由 6個邏輯單元組成,按流水線方式工作,運(yùn)行 速度 4MIPS,與 CPU之間的數(shù)據(jù)傳輸速度為 32MB/S。 多任務(wù)處理更容易,硬件支持多任務(wù)。 硬件支持段式管理和頁式管理,易于實(shí)現(xiàn)虛擬存儲系統(tǒng)。 硬件支持 DEBUG功能,并可設(shè)置數(shù)據(jù)斷點(diǎn)和 ROM斷點(diǎn)。 4級特權(quán)級別: 0級的優(yōu)先級最高,其次為 1、 2、 3級。 具有自動總線功能, CPU讀 /寫數(shù)據(jù)的寬度可以在 32位 和 16位之間自由進(jìn)
34、行轉(zhuǎn)換。 地址信號線擴(kuò)充到 32根,可以尋址 4GB空間 。 采用高性能協(xié)處理器 80387,具備了很強(qiáng)的浮點(diǎn)運(yùn)算 能力和很高的運(yùn)算速度。 在每條指令執(zhí)行期間, CPU需要進(jìn)行類型、內(nèi)存越界等 保護(hù)特性檢查。 80386的邏輯部件: 80386內(nèi)部分為三大部分:總線接口部件、中央處理部件 和存儲器管理部件。中央處理部件又分成指令預(yù)取部件、指令 譯碼部件和指令執(zhí)行部件。 控制 部件 測試部件 分段描述符 超高速 緩存器 分段部件 分頁描述符 超高速 緩存器 分頁部件 總線 接口 部件 預(yù)取 隊(duì)列 預(yù)取 單元 32 位寄存器組 桶形移位器 A L U 指令譯碼 指令隊(duì)列 32 位地 址總線 32
35、位數(shù) 據(jù)總線 控制 總線 N P X 接口 中斷 復(fù)位 CP U MMU BIU 1總線接口部件 控制 部件 測試部件 分段描述符 超高速 緩存器 分段部件 分頁描述符 超高速 緩存器 分頁部件 總線 接口 部件 預(yù)取 隊(duì)列 預(yù)取 單元 32 位寄存器組 桶形移位器 A L U 指令譯碼 指令隊(duì)列 32 位地 址總線 32 位數(shù) 據(jù)總線 控制 總線 N P X 接口 中斷 復(fù)位 CP U MMU BIU 80386的總線接口部件 BIU的作用和 8086的 BIU基本相同,控 制進(jìn)出 CPU的所有數(shù)據(jù)、地址及控制信號。 BIU中含有 16字 節(jié)指令預(yù)取隊(duì)列??偩€周期僅為 2個時鐘周期。 控制
36、部件 測試部件 分段描述符 超高速 緩存器 分段部件 分頁描述符 超高速 緩存器 分頁部件 總線 接口 部件 預(yù)取 隊(duì)列 預(yù)取 單元 32 位寄存器組 桶形移位器 A L U 指令譯碼 指令隊(duì)列 32 位地 址總線 32 位數(shù) 據(jù)總線 控制 總線 N P X 接口 中斷 復(fù)位 CP U MMU BIU 2中央處理部件 ( 1)指令預(yù)取部件 指令預(yù)取部件包括 16字節(jié)的預(yù)取隊(duì)列寄存器,可存放 5條左 右的指令。 指令代碼預(yù)取不再由 BIU負(fù)責(zé),而是由一個獨(dú)立的 指令預(yù)取部件完成。當(dāng)預(yù)取隊(duì)列有空單元或發(fā)生一次控制轉(zhuǎn)移 時,預(yù)取部件便通過分頁部件向 BIU發(fā)出指令預(yù)取請求。分頁 部件將預(yù)取指令指針?biāo)?/p>
37、出的線性地址變?yōu)槲锢淼刂?,再?BIU 及系統(tǒng)總線從內(nèi)存單元中預(yù)取指令代碼,放入預(yù)取隊(duì)列中。 ( 2)指令譯碼部件 80386采用微程序控制技術(shù),指令的執(zhí)行過程實(shí)際是通過 執(zhí)行由微指令組成的微程序來實(shí)現(xiàn)的。所有指令對應(yīng)的微程 序存放在其內(nèi)部的控制存儲器中。指令譯碼部件從 BIU的指 令預(yù)取隊(duì)列中取指令,將操作碼譯成與該指令操作碼相對應(yīng) 的控制 ROM的入口地址,存入譯碼指令隊(duì)列中。該隊(duì)列可容 納 3條已譯碼指令。 ( 3)執(zhí)行部件 該部件從譯碼指令隊(duì)列中取出已譯碼指令 并執(zhí)行完成所規(guī)定的操作。 3存儲器管理部件( MMU) 控制 部件 測試部件 分段描述符 超高速 緩存器 分段部件 分頁描述符
38、 超高速 緩存器 分頁部件 總線 接口 部件 預(yù)取 隊(duì)列 預(yù)取 單元 32 位寄存器組 桶形移位器 A L U 指令譯碼 指令隊(duì)列 32 位地 址總線 32 位數(shù) 據(jù)總線 控制 總線 N P X 接口 中斷 復(fù)位 CP U MMU BIU 存儲器管理部件 MMU( Memory Management Unit)分為分段 部件和分頁部件。其中分段部件用來實(shí)現(xiàn)邏輯地址到線性地 址的轉(zhuǎn)換,分頁部件用來實(shí)現(xiàn)線性地址到物理地址的轉(zhuǎn)換。 若分頁部件處于允許狀態(tài),則分頁部件在操作系統(tǒng)的控制下, 便產(chǎn)生線性地址到物理地址的轉(zhuǎn)換;若分頁部件處于禁止?fàn)?態(tài),線性地址即為物理地址。 取第 n + 2 條指令 取第
39、n + 1 條指令 取第 n + 6 條指令 取第 n + 5 條指令 取第 n + 4 條指令 取第 n + 3 條指令 總線接口部件 譯碼 n + 2 條指令 譯碼 n + 1 條指令 譯碼 n + 5 條指令 譯碼 n + 4 條指令 譯碼 n + 3 條指令 指令譯碼部件 執(zhí)行 n + 2 條指令 執(zhí)行 n + 1 條指令 執(zhí)行 n + 4 條指令 執(zhí)行 n + 3 條指令 指令執(zhí)行部件 地址 & MMU 地址 & MMU存儲管理部件 ( MMU ) 4 80386指令流水線 總線接口部件、指令預(yù)取部件、指令譯碼部件和存儲器管理 部件構(gòu)成了 80386CPU指令流水線。 2.3.4 8
40、0386內(nèi)部寄存器 A H A L B H B L C H C L D H D L SP BP SI DI IP F L A G ES CS FS DS GS SS 累加器 基址寄存器 計(jì)數(shù)器 數(shù)據(jù)寄存器 堆棧指針 基址指針 源變址 目的變址 附加段 堆棧段 代碼段 標(biāo)志寄存器 指令指針 數(shù)據(jù)段 附加段 附加段 段 寄 存 器 通 用 寄 存 器 E A X E F L A G S E I P E D I E S I E B P E S P E D X E C X E B X 031 15 80386寄存器組是 8086寄存器組的超集。除了將原有 寄存器擴(kuò)展為 32位外,還增加了許多新的寄存器
41、,同 時對段寄存器作了較大變動。 原 8086寄存器組 16位擴(kuò)展為 32位寄存器 新增寄存器 指令指針 標(biāo)志寄存器 段寄存器 通用寄存器 控制寄存器 系統(tǒng)段寄存器 系統(tǒng)地址寄存器 80386微處理器的寄存器結(jié)構(gòu) 1通用寄存器組 80386的通用寄存器為 EAX、 EBX、 ECX、 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兩個新的段寄存器,在非實(shí)模式下段寄存 器內(nèi)容不再是段的基地址,而是指向全
42、局與局部描述符表的 段選擇子。在 80386微機(jī)系統(tǒng)中編程,必須在存儲器中建立四 種系統(tǒng)表: ( 1) GDT全局描述符表共 1個;( 2)局部描述符表若干個; ( 3) IDT中斷描述符表共 1個;( 4) TSS任務(wù)狀態(tài)段若干個。 描述符表 TI R PL 012315 描述符表分為全局描述符表 GDT和局部描述符表 LDT,容量 64KB。存有若干種描述符,段描述符由 8個字節(jié)組成,用來 描述段的基地址、大小和屬性,因此可存放 8192個描述符。 索引號用來指示段描述符在描述符表中位置 TI=0表示選擇 GDT, TI=1表示選擇 LDT 申請者特權(quán)級別 0 n 3 2 1 GDT 或
43、L D T 選擇器 CS 、 DS 、 ES 、 SS 、 FS 或 GS 寄存器中的數(shù) 每個項(xiàng)目被稱為一個描述符 因?yàn)樗枋鲆徊糠謨?nèi)存 ( 保存在內(nèi)存中的某個地方 ) 內(nèi)存 描述符表 當(dāng)指令將一個 16位的值賦給段選擇器時, CPU將其索引號部分所對應(yīng)的段 描述符自動加載到描述符寄存器中。每個段描述符由三部分組成:基地 址字段用來描述所對應(yīng)段在物理存儲器中的起始地址;邊界字段用來描 述所對應(yīng)段的大小;屬性字段用來描述所對應(yīng)段的屬性。 3系統(tǒng)地址寄存器 80386設(shè)置了 4個系統(tǒng)地址寄存器: GDTR、 LDTR、 IDTR和 TSSR(或 稱 TR),分別用來管理四種系統(tǒng)表,即 GDT、 L
44、DT、 IDT和 TSS。 GDTR和 LDTR為 48位寬,而 IDTR和 TSSR為 80位寬。 ( 1) GDTR和 GDT的關(guān)系 GDT是一個特殊段,所有任務(wù)共用,系統(tǒng)中只需建立一個,沒有必要 設(shè)置描述符,直接由 GDTR決定它的基地址和大小。 ( 2) IDTR和 IDT的關(guān)系 IDT中存放中斷門描述符 /陷阱門描述符,系統(tǒng)只需建立一個。 ( 3) LDTR和 LDT的關(guān)系 一個任務(wù)需要建立一個 LDT, LDT段描述由選擇器字段來選擇,因 此 LDTR中需要有段選擇器字段 。 LDTR指出當(dāng)前進(jìn)程的 LDT描述符 在全局描述符表 GDT中的位置。 ( 4) TSSR和 TSS的關(guān)系
45、 和 LDT一樣,一個任務(wù)需要建立一個 TSS。 TSSR和 TSS與 IDTR和 IDT的關(guān)系相類似。 4指令指針、標(biāo)志寄存器 ( 1)指令指針 指令指針 EIP存放下一條指令的偏移量,該偏移量是相對于現(xiàn)行代碼段 ( CS)基址的偏移。 EIP的低 16位稱為 IP,用于 16位尋址。 ( 2)標(biāo)志寄存器 標(biāo)志寄存器低 12位與 8086相同,新增加了四種標(biāo)志。 31 - 18 在 80386 中保留未用 17VM 16RF 15 14NT 1 3 1 2I O P L 11OF 10DF 9IF 8TF 7SF 6ZF 5 4AF 3 2PF 1 0CF IOPL分 4級: 0 3, 0級
46、 級別最高, 3級級別最低 嵌套任務(wù)標(biāo)志為 1說明當(dāng)前 任務(wù)嵌套在另一個任務(wù)內(nèi) 恢復(fù)標(biāo)志為 1時,遇到斷點(diǎn)或調(diào)試故障, 繼續(xù)執(zhí)行下面的指令。在成功執(zhí)行每 條指令時, RF將自動被復(fù)位。 虛擬 8086模式標(biāo)志,該 位為 1表示 80386工作于 虛擬 86模式 30 - 5 在 80386 中保留未用 4ET 3TS 2EM 1MP 0PE31PG 5控制寄存器 80386內(nèi)部有 4個 32位控制寄存器 CR0 CR3,用來保存各種全局性狀態(tài) , CR0的低 16位稱為機(jī)器狀態(tài)字 MSW,格式如圖所示。 PE保護(hù)模式允許位, PE=1時 CPU處在保護(hù)模式。 MP協(xié)處理器監(jiān)控位, MP=1表示
47、有協(xié)處理器。 EM仿真協(xié)控制位, EM=1表示用軟件仿真協(xié)處理器。 TS任務(wù)轉(zhuǎn)換控制位,當(dāng)任務(wù)轉(zhuǎn)換時該位自動地將該位置 1。 協(xié)處理器類型位,系統(tǒng)配接 80387時 RT=1,配接 80287時, ET=0 6.調(diào)試寄存器和測試寄存器 80386有 8個 32位的調(diào)試寄存器 DR7 DR0。 DR3 DR0用來存放斷點(diǎn)地 址。 DR5和 DR4是 Intel保留未作定義。 DR6調(diào)試狀態(tài)寄存器,存放所 有引起類型 l異常中斷的事件標(biāo)志。 DR7為調(diào)試控制寄存器,高 16位 分成 4個字段,分別用來規(guī)定 4個斷點(diǎn)的長度是一個字節(jié)還是 4個字 節(jié)以及引起斷點(diǎn)的訪問類型;低 16位用來允許 /禁止
48、4個斷點(diǎn)以及選 擇斷點(diǎn)的條件。 80386有 8個 32位的測試寄存器 TR7 TR0 ,用戶只能訪問 2個轉(zhuǎn)換旁 路緩沖器的測試寄存器 TR6和 TR7。 TR6為測試命令寄存器,存放測試 時使用的標(biāo)記信息和控制信息。 TR7為測試數(shù)據(jù)寄存器,存放 TLB測 試的數(shù)據(jù)。 3.3.5 80386存儲器管理 80386具有三種存儲器管理模式:實(shí)地址模式、虛擬 8086模式和保 護(hù)模式。物理空間的分配和虛擬地址到物理地址的轉(zhuǎn)換,通常是由 操作系統(tǒng)完成的, 80386系統(tǒng)結(jié)構(gòu)中專門設(shè)置了用于實(shí)現(xiàn)虛擬存儲 技術(shù)的硬件機(jī)制。 80386把虛擬地址空間分成不同性質(zhì)的兩部分:全局地址空間和局 部地址空間。全
49、局地址空間為所有任務(wù)共享;局部地址空間是每一 個任務(wù)占有的獨(dú)立地址空間,存放每個任務(wù)代碼和數(shù)據(jù)。 80386的段選擇子字段是從全局描述符表 GDT或局部描述符表 LDT 中選擇一個段。虛擬存儲器中可包含有 214個段。由段選擇器的 T1位 來決定全局地址空間或局部地址空間。 虛擬地址到物理地址的轉(zhuǎn)換 虛擬地址由段管理部件轉(zhuǎn)換成線性地址,再由頁管理部件將 線性地址轉(zhuǎn)換成物理地址。如不啟用分頁功能,線性地址直 接作為物理地址。 邏輯地址 線性地址 物理地址 分段機(jī)制 分頁機(jī)制 轉(zhuǎn)換 轉(zhuǎn)換 48 位 32 位 32 位 SI DS 寄存器 64 KB SI DS 寄存器 可變 描 述 符 表 G D
50、 T R 三種模式下的地址轉(zhuǎn)換 ( 1)實(shí)模式的地址轉(zhuǎn)換 ( 2)虛擬 8086模式的地址轉(zhuǎn)換 增加了可選的分頁功能 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ì),簡化系統(tǒng)設(shè)計(jì) 2、可以得到多廠商支持,提高兼容性 3、便于擴(kuò)充升級 4、便于故障診斷和維修,減低生產(chǎn)成本 一、概述 1.總線的概念 一組導(dǎo)線和相關(guān)的控制、驅(qū)動電路 的 集合 。 它 由一組導(dǎo)線和相關(guān)的控制、驅(qū)動電路組成, 是 計(jì)算機(jī)系統(tǒng)各部件之間傳輸?shù)刂?、?shù)據(jù)和控 制信息 的 公共通道 。 總線特點(diǎn)在于公用性,可同時掛接多個部件或 設(shè)備。 總線
51、一般由多條通信線路組成,每一路信號 線能傳送一位二進(jìn)制 0或 1, 8條信號線就能在同 一時間并行傳送一個字節(jié)的信息。 2.總線的分類 前端總線: CPU 其他部件 系統(tǒng)總線:主機(jī) I/O接口 外部總線:微機(jī) 外設(shè) 按傳送信 息的類型 按層次 結(jié)構(gòu) 地址總線( AB) 數(shù)據(jù)總線( DB) 控制總線( CB) 按傳送類型分 數(shù)據(jù)總線( DB) 數(shù)據(jù)總線是計(jì)算機(jī)系統(tǒng)內(nèi)部之間進(jìn)行數(shù)據(jù)傳送的路 徑。數(shù)據(jù)總線的傳送方向是雙向的,可以由處理器發(fā) 向其他部件,也可以由其他部件將信號送向處理器。 數(shù)據(jù)總線一般由 8條、 16條、 32條或更多條數(shù)據(jù)線 組成,因此,數(shù)據(jù)線的條數(shù)稱為數(shù)據(jù)總線的寬度。 由于每一條數(shù)
52、據(jù)線一次只能傳送一位二進(jìn)制數(shù),因 此數(shù)據(jù)結(jié)的條數(shù)決定了每一次能同時傳送的二進(jìn)制位 數(shù)。 地址總線( AB) 地址總線用于傳送地址信息,也就是這類總線上所 傳送的一組二進(jìn)制 0或 1表示的是一個內(nèi)存單元地址或 I/O端口地址。它規(guī)定了數(shù)據(jù)總線上的數(shù)據(jù)來自何處 或被送到何處。因地址信息均由系統(tǒng)產(chǎn)生,所以它的 傳送方向是單向的。 地址總線的寬度決定了能夠產(chǎn)生的地址碼的個數(shù), 從而也決定了計(jì)算機(jī)系統(tǒng)能夠管理的最大存儲容量。 另,在進(jìn)行輸入輸出操作時,地址總線還要傳送 I/O 端中的地址。而 I/O端口的容量遠(yuǎn)低于內(nèi)存容量,所 以在尋址時,只用地址總線的低位。 控制總線( CB) 控制總線用于傳送各種控
53、制信號,以實(shí)現(xiàn)對數(shù)據(jù)總 線,地址總線的訪問及使用情況進(jìn)行控制。控制信號的 作用是在系統(tǒng)內(nèi)各部件之間發(fā)送操作命令和定時信號。 控制信號的類型有: 寫存儲器命令; 讀存儲器命令; I/O寫命令; I/O讀命令; 傳送響應(yīng); 總線請求; 總線響應(yīng); 中斷請求; 中斷響應(yīng); 時鐘和復(fù)位。 控制信號從總體上來說是雙向的,但就一個具體的信 號來說,其信息的走向是單向的。 按總線的層次結(jié)構(gòu)分 前端總線 前端總線有地址總線、數(shù)據(jù)總線、和控制總線。一般指從 CPU引 腳上引出的連接線,用來實(shí)現(xiàn) CPU與主存儲器、 CPU與 I/O接口芯 片、 CPU與控制芯片組等之間的信息傳輸,也用于系統(tǒng)中多個 CPU 之間的
54、連接。 系統(tǒng)總線 它也有地址總線,數(shù)據(jù)總線,控制總線。它是主機(jī)系統(tǒng)與外設(shè)之 間的通信通道。在主板上,系統(tǒng)總線表現(xiàn)為與 I/O擴(kuò)展插槽引線連 接的一組邏輯電路的導(dǎo)線。有統(tǒng)一標(biāo)準(zhǔ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) 簡單,但總線競爭嚴(yán)重 CPU M M I/O I/O I/O 2、多 總線結(jié)構(gòu) 面向 CPU的雙總線結(jié)構(gòu) 面向主存的雙總線結(jié)構(gòu) 雙總線結(jié)構(gòu) 多總線結(jié)構(gòu)(圖 2-31) 多 總線 結(jié)構(gòu) (續(xù) ) 教材 p
55、77 圖 2-29: 面向 CPU的雙總線結(jié)構(gòu) 把需要很高帶寬的主存儲器用存儲總線單獨(dú)與 CPU相 連 問題:外設(shè)到主存的數(shù)據(jù)傳輸必須通過 CPU, 傳 輸效率低,無法實(shí)現(xiàn) DMA傳輸 圖 2-30: 面向主存的雙總線結(jié)構(gòu) 主存儲器即與 CPU直接連接,又與系統(tǒng)總線連接,較 好地解決了上述問題 4.總線的操作 接到總線上的設(shè)備有兩種工作方式,主控方式 和從屬方式。連接到總線上的設(shè)備分為主控設(shè)備 和從屬設(shè)備。主控設(shè)備可以通過總路線進(jìn)行數(shù)據(jù) 傳送。從屬設(shè)備只能按主控設(shè)備的要求工作,接 收傳送過來的數(shù)據(jù)。 總線周期:總線時間分為若干個段,每一個時間 段完成設(shè)備間的一次信息交換。 一個總線周期分為五個
56、步驟:總線請求、總線仲 裁、尋址、傳送數(shù)據(jù)和傳送結(jié)束。 5.總線的主要 性能指標(biāo) 總線帶寬( B/S): 單位時間內(nèi)總線上可傳送的數(shù)據(jù)量 總線位寬( bit): 能同時傳送的數(shù)據(jù)位數(shù) 總線的工作頻率( MHz) :它是用于協(xié)調(diào)總線上的各種操 作的時鐘信號的頻率 總線帶寬 = (位寬 /8)(工作頻率 /每個存取周期的時鐘數(shù) ) 二、總線的基本功能 總線傳輸需要解決的問題: 1、總線傳輸同步 協(xié)調(diào)通信雙方的傳輸操作 同步、異步、半同步 2、總線仲裁控制 消除多個設(shè)備同時使用總 線造成的沖突現(xiàn)象 3、出錯處理 在數(shù)據(jù)傳輸過程中對出現(xiàn)錯誤 的進(jìn)行處理。 4、信號驅(qū)動 用三態(tài)輸出電路或集成電路開 路輸
57、出電路來驅(qū)動總線。 1.總線的數(shù)據(jù)傳送 、同步定時方式 : 用公共的時鐘統(tǒng)一 各部件 數(shù)據(jù)發(fā)送和接收的時機(jī) 。 數(shù)據(jù) READY ACK 1t 2t 總線周期 源 目的 總線執(zhí)行寫同步定時圖 缺點(diǎn):源部件無法知道目的 部件是否已收到數(shù)據(jù),目的 部件也無法知道源部件的數(shù) 據(jù)是否已真正送到總線上 。 、異步傳輸方式 : 用控制和狀態(tài)信號協(xié)調(diào)各部件數(shù) 據(jù)發(fā)送和接收的時機(jī) 異步定時方法中沒有固定的時鐘,定時序列中的每一步都 要靠信號在源剖析和目的部件間的來回傳送實(shí)現(xiàn)。這些控制 信號的傳送有相當(dāng)可觀的延遲時間。把某幾步改用等待一足 夠長的固定延遲時間來代替對方傳送過來的信號。這種用固 定延遲時間的信號叫
58、隱含信號。根據(jù)隱含信號的多少,可以 把異步總線定時分為非互鎖、半互鎖和全互鎖三種方式。 優(yōu)點(diǎn):任何速度的設(shè)備之間都能互相進(jìn)行通信。 缺點(diǎn):延遲時間較長。 1t 2t 6t 3t 5t 4t 數(shù)據(jù) READY ACK 非互鎖異步總線定時圖 3、半同步 : 用公共的時鐘統(tǒng)一 控制和狀態(tài)信號的產(chǎn) 生時機(jī)(即控制和狀態(tài)信號與時鐘是同步的),但數(shù) 據(jù)發(fā)送和接收的時機(jī)仍不固定。 半同步方式是利用時鐘脈沖的邊沿判斷某一信號的狀態(tài) ,或控制某一信號的產(chǎn)生和消失,使傳輸操作與時鐘同 步。 半同步方式允許不同速度的部件協(xié)同工作,主控設(shè)備 可以根據(jù)地從屬設(shè)備的狀態(tài)自動延長總線時鐘周期,但 改變后的總線周期一定是時鐘
59、周期的整數(shù)倍。例 8086CPU的總線周期插入等待就是半同步的一個實(shí)例。 2.總線仲裁(總線判優(yōu)) 當(dāng)總線上的一個部件要與另一個部件進(jìn)行通信 時,首先應(yīng)該發(fā)出請求信號。在某一時刻,可能 有多個部件同時要求使用總線,總線仲裁控制機(jī) 構(gòu)根據(jù)一定的判決原則,決定首先由哪個部件 使用總線,只有獲得了總線使用權(quán)的部件,才能 開始數(shù)據(jù)傳送。 用來決定某一時刻哪一個部件可以使用總線 集中控制 統(tǒng)一由總線控制器進(jìn)行控制 分散控制 總線控制由各部件共同實(shí)現(xiàn),所有部件均 按統(tǒng)一的規(guī)則來訪問總線 總線仲裁 集中控制 1)鏈?zhǔn)讲樵?( p82圖 2-34) 基本原理是: 部件提出申請( BR) 總線控制器發(fā)出批準(zhǔn)信號
60、( BG) 提出申請的部件截獲 BG,并禁止 BG信號進(jìn)一步向后傳播 提出申請的部件發(fā)出總線忙信號( BS),開始使用總線。 總線忙信號將阻止其他部件使用總線,直到使用總線的 設(shè)備釋放總線 電路最簡單,但優(yōu)先級固定,不能改變 總 線 控 制 部 件 設(shè)備接口 0 設(shè)備接口 1 設(shè)備接口 n 數(shù)據(jù)總線 地址總線 BS BR BG 鏈?zhǔn)讲樵兎绞?特點(diǎn): 總線回答信號 BG的傳送是串行地從一個 I/O接口送 到下一個 I/O接口,若 BG到達(dá)的接口無總線請求,則繼續(xù) 下傳。若有總線請求, BG信號不再下傳,則這個 I/O口獲 得總線的使用權(quán)。 總線仲裁 集中控制 2)計(jì)數(shù)器查詢 ( p83圖 2-3
61、5) 基本原理是: 需要使用總線的部件提出申請( BR) 總線控制器發(fā)出遞增的設(shè)備地址 提出申請的設(shè)備檢查設(shè)備地址,若與自己的地址匹配,就發(fā) 出總線忙信號( BS),然后就可以使用總線 總線控制器根據(jù)檢測到 BS信號時的設(shè)備地址就知道當(dāng)前哪 個設(shè)備使用了總線 調(diào)整設(shè)備地址發(fā)出的順序即可改變優(yōu)先級別 仲裁過程較慢 總 線 控 制 部 件 設(shè)備接口 0 設(shè)備接口 1 設(shè)備接口 n 數(shù)據(jù)總線 地址總線 BS BR BG 計(jì)數(shù)器查詢方式 特點(diǎn):計(jì)數(shù)器的初值可以用程序來設(shè)置,可以方便地改 變優(yōu)先級次序 。 總線仲裁 集中控制 3)獨(dú)立請求 ( p84圖 2-36)基本原理是: 每個設(shè)備都擁有獨(dú)立的總線請
62、求線和總線應(yīng)答線 總線控制器對所有的總線請求進(jìn)行優(yōu)先級排隊(duì), 并響應(yīng)級別最高的請求 得到響應(yīng)的設(shè)備將占用總線進(jìn)行傳輸 最常用,響應(yīng)速度最快 總 線 控 制 部 件 設(shè)備接口 n 設(shè)備接口 1 設(shè)備接口 0 數(shù)據(jù)總線 地址總線 BGn BRn BG0 BR0 獨(dú)立請求方式 3.總線驅(qū)動及出錯處理 總線驅(qū)動 每個接口電路都要有從總線上吸收電流,因此要有總線驅(qū)動。 常用的總線驅(qū)動器是三態(tài)總線驅(qū)動器,但總線驅(qū)動器的驅(qū)動能力 有限,在擴(kuò)充外設(shè)時,一個模塊或部件限制 1、 2個負(fù)載。 出錯處理 數(shù)據(jù)在傳送過程中可能產(chǎn)生錯誤,解決的方法是在傳輸?shù)臄?shù)據(jù) 中增加一些冗佘位,使冗佘位與傳送的數(shù)據(jù)具有特殊的關(guān)系,若
63、 這種特殊關(guān)系存在,表示接收的數(shù)據(jù)正確,特殊關(guān)系不存在,表 示接收的數(shù)據(jù)出錯。在發(fā)現(xiàn)錯誤后,處理錯誤的方法有兩種。 總線控制器和設(shè)備接口中的總線接口部件有自動糾錯功能。 若部件中無自動糾錯電路,可在發(fā)現(xiàn)錯誤后發(fā)出“數(shù)據(jù)出錯” 信號讓 CPU來進(jìn)行錯誤處理,通常是向 CPU發(fā)出中斷請求信號, CPU 響應(yīng)中斷后,轉(zhuǎn)入錯誤處理程序來處理異常情況。 三、常見的系統(tǒng)總線和外設(shè)總線標(biāo)準(zhǔn) 1.系統(tǒng)總線 ISA: IBM公司為 286/AT微型機(jī)制定的總路線標(biāo)準(zhǔn)。( 8/16位) PCI: SIG集團(tuán)推出的高性能的總線結(jié)構(gòu)。( 32/64位) AGP:加速圖形端口,用于提高圖形理能力 系統(tǒng)總線通常為 501
64、00根信號線,可分為五個主要類型 數(shù)據(jù)線:決定數(shù)據(jù)寬度 地址線:決定直接選址范圍 控制線:有控制、時序和中斷線,決定總線功能和適應(yīng)性好壞 電源線和地線:決定電源的種類及地線的分布 備用線:留給廠家或用戶自己定義 信號線的標(biāo)準(zhǔn)主要涉及: 信號的名稱;信號的定時關(guān)系;信號的電平;連接插件的幾何 尺寸;連接插件的電氣參數(shù);引腳的定義、名稱、序號;引腳 的個數(shù);引腳的位置;電源及地線等。 最常用的三種系統(tǒng)總線: ISA總線、 PCI總線和 AGP總線 ISA總線 由美國 IBM公司推出的 16位標(biāo)準(zhǔn)總線,數(shù)據(jù)傳輸率為 16MB/s。用 于 IBM-PC/XT、 AT及其兼容機(jī)上。 ISA總線的主要特點(diǎn)
65、和性能指標(biāo) I/O地址空間 位地址線可直接尋址的內(nèi)存容量為 總線寬度位,最高時鐘頻率為,最大傳輸 率為 s 支持級中斷 個通道 開放式總線結(jié)構(gòu),允許多個共享系統(tǒng)資源。 D 1 D 10 D 18 C 1 C 10 C 18 M E M C S 16 I O C S 16 D A C K 0 D A C K 5 M A S T E R D R Q 0 D R Q 5 I R Q 10 I R Q 11 I R Q 12 I R Q 13 I R Q 14 15 V GND S B H E D A C K 6 D A C K 7 D R Q 6 D R Q 7 LA 17 LA 18 LA 19
66、LA 20 LA 21 LA 22 LA 23 SD 15 SD 14 SD 13 SD 12 SD 11 SD 10 SD 9 SD 8 S M E M R S M E M W 總線結(jié)構(gòu)圖 擴(kuò)展控制線 擴(kuò)展地址線 擴(kuò)展數(shù)據(jù)線 總線 總線是 支持 32位 /64位數(shù)據(jù)傳輸, PCI的諸多優(yōu)點(diǎn), 成為現(xiàn)代微機(jī)中的主流總線。其獨(dú)立于處理器;在一個系統(tǒng)中 可以有多條 PCI總線;和處理器最近的只隔了一個橋電路。 PCI總線的主要性能 總線寬度 bit bit,總線時鐘頻率為 , 最大數(shù)據(jù)傳輸速率為 s 采用時鐘同步方式 與及時鐘頻率無關(guān) 能自動識別外設(shè) 具有與處理器和存儲器系統(tǒng)完全并行操作的能力 具有隱含的中央仲裁系統(tǒng) 采用多路復(fù)用,減少了引腳數(shù) 完全的多總線主控能力 提供地址和數(shù)據(jù)的奇偶校驗(yàn) . PCI總線的系統(tǒng)結(jié)構(gòu) PCI一種高性能總線,在一個系統(tǒng)中能和其它總線共存。 處理器 處理器總線與 PC 總線橋接器 C a c h e 控制器 M e m o r y 控制器 高速緩沖器 C a c h e 主存儲器 數(shù)據(jù)緩沖器 P C I I S A 橋接器 S C S I 控制器 I D E
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。