6.高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)_Intel86體系結(jié)構(gòu)4_第1頁(yè)
6.高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)_Intel86體系結(jié)構(gòu)4_第2頁(yè)
6.高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)_Intel86體系結(jié)構(gòu)4_第3頁(yè)
6.高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)_Intel86體系結(jié)構(gòu)4_第4頁(yè)
6.高級(jí)計(jì)算機(jī)體系結(jié)構(gòu)_Intel86體系結(jié)構(gòu)4_第5頁(yè)
已閱讀5頁(yè),還剩42頁(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、第四節(jié)第四節(jié) Intel 80486處理器處理器 增加了數(shù)據(jù)的增加了數(shù)據(jù)的猝發(fā)傳送猝發(fā)傳送方式方式; 指令預(yù)取隊(duì)列長(zhǎng)度指令預(yù)取隊(duì)列長(zhǎng)度, 由由16字節(jié)增加到字節(jié)增加到32字節(jié)字節(jié); 片內(nèi)集成了片內(nèi)集成了8K的的Cache, 并支持片外并支持片外Cache; 片內(nèi)集成了浮點(diǎn)協(xié)處理器片內(nèi)集成了浮點(diǎn)協(xié)處理器FPU; 支持?jǐn)?shù)據(jù)位的奇偶校驗(yàn)支持?jǐn)?shù)據(jù)位的奇偶校驗(yàn); 指令流水線方式指令流水線方式 80486的主要改進(jìn)的主要改進(jìn): 一、一、80486的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) (一一) 功能模塊功能模塊 在在80386基礎(chǔ)上基礎(chǔ)上, 增加增加: (1) 8KCache (2) 浮點(diǎn)協(xié)處理器浮點(diǎn)協(xié)處理器 FPU 如下

2、圖所示如下圖所示: EU SU BIU IPU(指令指令 預(yù)取部件預(yù)取部件) IDU PU TLB 隱隱Cache 8KCache 物理物理 地址地址 FPU 指令流指令流 線性地址線性地址 64位總線位總線 內(nèi)部?jī)?nèi)部64位總線連接位總線連接EU和和FPU; 可以禁止分頁(yè)可以禁止分頁(yè), 所以所以SU輸出可直接送到輸出可直接送到Cache; SU和和PU首先尋址首先尋址Cache, 不命中才尋址內(nèi)存。不命中才尋址內(nèi)存。 (二二) 內(nèi)部寄存器內(nèi)部寄存器 通用寄存器通用寄存器/段寄存器段寄存器/指令指針與指令指針與80386相同。相同。 1、FR標(biāo)志位寄存器標(biāo)志位寄存器: 新增標(biāo)志位新增標(biāo)志位 AC

3、對(duì)齊標(biāo)志對(duì)齊標(biāo)志 對(duì)齊的含義對(duì)齊的含義: 16位的字位的字, 從偶地址開始存放從偶地址開始存放(起始地址最低起始地址最低 位為位為0, 能被能被2整除整除); 對(duì)對(duì)32位的字位的字, 存放的起始地址能被存放的起始地址能被4整除整除, 且且 最低最低2位為位為0 依此類推依此類推, 雙字雙字(64位位)存放的起始地址能被存放的起始地址能被8整除整除 (低低3位為位為0)等。以上情況都稱為對(duì)齊的。數(shù)據(jù)按等。以上情況都稱為對(duì)齊的。數(shù)據(jù)按 對(duì)齊的方式存放對(duì)齊的方式存放, 對(duì)數(shù)據(jù)的存取速度更快。對(duì)數(shù)據(jù)的存取速度更快。 為什么為什么CR3、頁(yè)目錄和頁(yè)表都只給出頁(yè)目錄和頁(yè)表都只給出20位的位的 地址作為基地

4、址地址作為基地址? 從對(duì)齊的角度從對(duì)齊的角度, 一個(gè)一個(gè)4K的頁(yè)面是對(duì)齊的的頁(yè)面是對(duì)齊的, 低低 12位為位為0, 只需要給出高只需要給出高20位地址位地址, 實(shí)際訪問(wèn)實(shí)際訪問(wèn) 時(shí)時(shí), 低低12位補(bǔ)位補(bǔ)0。 AC = 0 不作對(duì)齊檢查不作對(duì)齊檢查 1 進(jìn)行對(duì)齊檢查進(jìn)行對(duì)齊檢查 僅在特權(quán)級(jí)僅在特權(quán)級(jí)3 未對(duì)齊時(shí)產(chǎn)生未對(duì)齊時(shí)產(chǎn)生 異常中斷異常中斷 2、CR0 CR3 控制寄存器控制寄存器 CR0 PG CD NW . AM WP . NE ET TS EM MP PE 新增控制位新增控制位 CD 1 讀未命中時(shí)讀未命中時(shí), 禁止填充禁止填充Cache ( 即 禁 止 從即 禁 止 從 內(nèi)存中讀取的

5、數(shù)據(jù)寫入內(nèi)存中讀取的數(shù)據(jù)寫入Cache) 0 讀未命中讀未命中, 允許填充允許填充Cache NW 1 不允許直寫不允許直寫 (寫命中寫命中Cache, 不寫入內(nèi)存不寫入內(nèi)存) 0 允許直寫允許直寫Cache AM 1 允許允許AC對(duì)齊標(biāo)志對(duì)齊標(biāo)志 0 禁止禁止AC對(duì)齊標(biāo)志對(duì)齊標(biāo)志 (便于與便于與80386兼容兼容) WP 1 任何特權(quán)級(jí)的任務(wù)任何特權(quán)級(jí)的任務(wù), 對(duì)頁(yè)面都只能讀對(duì)頁(yè)面都只能讀 0 按描述子按描述子/頁(yè)目錄頁(yè)目錄/頁(yè)表的規(guī)定實(shí)施讀寫頁(yè)表的規(guī)定實(shí)施讀寫 保護(hù)保護(hù) NE 1 如果浮點(diǎn)部件出現(xiàn)異常如果浮點(diǎn)部件出現(xiàn)異常, 則產(chǎn)生異常則產(chǎn)生異常 中斷中斷INT16 0 且輸入引腳且輸入引腳

6、IGNEE有效有效, 忽略浮點(diǎn)部忽略浮點(diǎn)部 件出錯(cuò)件出錯(cuò) CR3 在在80386基礎(chǔ)上增加了兩位基礎(chǔ)上增加了兩位: 頁(yè)目錄基地址頁(yè)目錄基地址 00.00 PCD PWT 0 0 0 31 12 4 3 2 1 0 PCD 1 禁止頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入禁止頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入Cache(禁禁 止填充止填充Cache) 0 允許頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入允許頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入Cache PWT 1 片外片外Cache采用直寫方式采用直寫方式 0 片外片外Cache采用回寫方式采用回寫方式 (注注: 80486片內(nèi)的片內(nèi)的Cache只有直寫方式只有直寫方式) 二、二、80486片內(nèi)片內(nèi)Cache 80486片內(nèi)

7、集成片內(nèi)集成8K的高速緩存。的高速緩存。 (一一) 結(jié)構(gòu)結(jié)構(gòu) 8K的高速緩存采用四組關(guān)聯(lián)式結(jié)構(gòu)的高速緩存采用四組關(guān)聯(lián)式結(jié)構(gòu), 將整個(gè)將整個(gè) 8K分成四路分成四路, 每一路分成每一路分成128組組, 每組分成四每組分成四 行行, 每行四個(gè)字節(jié)。每行四個(gè)字節(jié)。 每一行設(shè)置了一個(gè)有效位每一行設(shè)置了一個(gè)有效位V, 用于指示該行是用于指示該行是 否有效否有效(V1時(shí)該行有效時(shí)該行有效, V=0時(shí)該行無(wú)效時(shí)該行無(wú)效)。 為了便于使用為了便于使用LRU算法算法, 對(duì)每四行對(duì)每四行, 設(shè)置了三設(shè)置了三 個(gè)標(biāo)志位個(gè)標(biāo)志位B0、B1、B2, 用來(lái)指示這四行最近用來(lái)指示這四行最近 被訪問(wèn)的情況。如下圖所示被訪問(wèn)的情

8、況。如下圖所示: B0 B1 B2 0路路3路路2路路1路路 0組組 1組組 . . 0行行 3行行 2行行 1行行 4個(gè)字節(jié)個(gè)字節(jié)V V V V 127組組 每四行附加的標(biāo)志位每四行附加的標(biāo)志位B0、B1、B2指示這四行最指示這四行最 近被訪問(wèn)的情況近被訪問(wèn)的情況, 按以下方式進(jìn)行設(shè)置按以下方式進(jìn)行設(shè)置: 最近被訪最近被訪 問(wèn)的行是問(wèn)的行是 0行或行或1行行, 則則1B0 2行或行或3行行, 則則0B0 0行行 1B1 1行行 0B1 2行行 1B2 3行行 0B2 (二二) 高速緩存工作過(guò)程控制高速緩存工作過(guò)程控制 1. 四種工作方式四種工作方式 CR0中中CD和和NW兩個(gè)控制位兩個(gè)控制位

9、, 其四種組合構(gòu)成其四種組合構(gòu)成 了了Cache的四種工作方式的四種工作方式(注注 80486中的中的Cache, 在在“寫不命中時(shí)寫不命中時(shí), 只寫內(nèi)存只寫內(nèi)存, 不寫不寫Cache”): CD NW Cache正常工作方式正常工作方式(允許允許Cache填填 充、直寫和充、直寫和“使無(wú)效使無(wú)效“功能功能) 無(wú)效無(wú)效(如果將該狀態(tài)裝入如果將該狀態(tài)裝入CR0 , 將產(chǎn)生將產(chǎn)生 異常中斷異常中斷) 禁止禁止Cache填充填充,但允許直寫和但允許直寫和“使無(wú)使無(wú) 效效”功能功能 禁止禁止Cache填充填充, 也禁止直寫和也禁止直寫和“使無(wú)使無(wú) 效效”功能功能 0 0 0 1 1 0 1 1 功功

10、能能 說(shuō)明說(shuō)明: CD和和NW=10 禁止禁止Cache填充填充, 則在則在“讀未命中時(shí)讀未命中時(shí)”只訪問(wèn)主只訪問(wèn)主 存存; 不允許將從主存讀取的數(shù)據(jù)和對(duì)應(yīng)的地址寫不允許將從主存讀取的數(shù)據(jù)和對(duì)應(yīng)的地址寫 入入Cache; CPU Cache 主存主存 讀不命中讀不命中 數(shù)據(jù)傳送數(shù)據(jù)傳送 在在“寫不命中時(shí)寫不命中時(shí)”只寫主存不寫只寫主存不寫Cache。只允許只允許 直寫直寫, 僅在僅在“寫命中寫命中”時(shí)時(shí), 既寫入既寫入Cache, 又要寫入又要寫入 內(nèi)存內(nèi)存 CPU Cache 主存主存 寫不命中寫不命中 數(shù)據(jù)傳送數(shù)據(jù)傳送 因此因此, CD和和NW=10時(shí)時(shí), 可以用軟件方式對(duì)某些可以用軟件方

11、式對(duì)某些 主存單元的高速緩存行進(jìn)行控制。比如主存單元的高速緩存行進(jìn)行控制。比如, 為防止為防止 Cache內(nèi)容過(guò)時(shí)的方法之一內(nèi)容過(guò)時(shí)的方法之一, 就是就是“不可高速用不可高速用 存儲(chǔ)器存儲(chǔ)器”, 禁止共享區(qū)的內(nèi)存單元內(nèi)容進(jìn)入禁止共享區(qū)的內(nèi)存單元內(nèi)容進(jìn)入 Cache。 CD和和NW=11時(shí)時(shí): 該主要用于程序測(cè)試。預(yù)先將某些測(cè)試所需該主要用于程序測(cè)試。預(yù)先將某些測(cè)試所需 要的數(shù)據(jù)裝入要的數(shù)據(jù)裝入Cache, 然后將然后將CD和和NW設(shè)置為設(shè)置為 11, 斷開斷開Cache與主存的聯(lián)系。測(cè)試開始后與主存的聯(lián)系。測(cè)試開始后, 程程 序只訪問(wèn)預(yù)先裝入序只訪問(wèn)預(yù)先裝入Cache的數(shù)據(jù)的數(shù)據(jù), 不會(huì)有啟動(dòng)

12、不會(huì)有啟動(dòng) 總線周期訪問(wèn)內(nèi)存總線周期訪問(wèn)內(nèi)存, 也不會(huì)出現(xiàn)也不會(huì)出現(xiàn)“不命中不命中”。 高速緩存的幾種功能均被禁止高速緩存的幾種功能均被禁止, 即即“讀不命讀不命 中中”時(shí)時(shí), 只讀主存而不寫入只讀主存而不寫入Cache; “寫不命中寫不命中”時(shí)時(shí), 只寫主存而不寫入只寫主存而不寫入Cache, 且且不允許不允許直寫直寫; 也不也不 能標(biāo)識(shí)某些能標(biāo)識(shí)某些Cache內(nèi)容無(wú)效內(nèi)容無(wú)效, 意味著此時(shí)意味著此時(shí)Cache 與主存的聯(lián)系已被斷開。與主存的聯(lián)系已被斷開。 2. Cache的更新的更新(淘汰淘汰) 淘汰過(guò)程按如以下流程淘汰過(guò)程按如以下流程: 是否有無(wú)效行是否有無(wú)效行 Y Y N N 淘汰無(wú)效

13、行淘汰無(wú)效行 2行或行或3行不常用行不常用 淘汰淘汰3行行淘汰淘汰2行行 B0=0 B2=0 N B1=0 淘汰淘汰1行行淘汰淘汰0行行 NY 0行或行或1行不常用行不常用 Y 3. 高速緩存的清除高速緩存的清除 軟件方式軟件方式 執(zhí)行指令執(zhí)行指令I(lǐng)NVD或者或者WBINVD WBINVD先將先將Cache內(nèi)容寫回主存內(nèi)容寫回主存, 再清除。再清除。 注注: 80486片內(nèi)的片內(nèi)的Cache采用的是直寫方式采用的是直寫方式, 這兩這兩 條指令對(duì)片內(nèi)條指令對(duì)片內(nèi)Cache的執(zhí)行結(jié)果相同的執(zhí)行結(jié)果相同; 但片外但片外 Cache可能采用回寫可能采用回寫, 所以設(shè)置了所以設(shè)置了WBINVD指令。指令

14、。 硬件方式硬件方式 80486的引腳的引腳 , 當(dāng)該引腳有效時(shí)當(dāng)該引腳有效時(shí), 片內(nèi)片內(nèi) Cache內(nèi)容將被清除掉。內(nèi)容將被清除掉。 FLUSH 4. 頁(yè)面的可高速緩存性頁(yè)面的可高速緩存性 什么是頁(yè)面的可高速緩存性?什么是頁(yè)面的可高速緩存性? 針對(duì)一個(gè)頁(yè)面針對(duì)一個(gè)頁(yè)面, 禁止或允許其內(nèi)容進(jìn)入禁止或允許其內(nèi)容進(jìn)入Cache (即控制頁(yè)面的內(nèi)容是否可以進(jìn)入即控制頁(yè)面的內(nèi)容是否可以進(jìn)入Cache)。 與與“不可高速用存儲(chǔ)器不可高速用存儲(chǔ)器”的概念相同的概念相同, 即允許即允許 或不允許某些主存單元內(nèi)容進(jìn)入或不允許某些主存單元內(nèi)容進(jìn)入Cache。 如何控制頁(yè)面的可高速緩存性?如何控制頁(yè)面的可高速緩存

15、性? 在在CR0中的中的CD位位 CD 1 讀未命中讀未命中, 禁止填充禁止填充Cache 0 讀未命中讀未命中, 允許填充允許填充Cache 80486的分頁(yè)機(jī)制的頁(yè)目錄項(xiàng)和頁(yè)表項(xiàng)中的的分頁(yè)機(jī)制的頁(yè)目錄項(xiàng)和頁(yè)表項(xiàng)中的 PCD (D4 , 386處理器未使用該位處理器未使用該位): PCD 1 禁止頁(yè)表的內(nèi)容進(jìn)入禁止頁(yè)表的內(nèi)容進(jìn)入Cache 0 允許頁(yè)表的內(nèi)容進(jìn)入允許頁(yè)表的內(nèi)容進(jìn)入Cache PCD 1 禁止頁(yè)面的內(nèi)容進(jìn)入禁止頁(yè)面的內(nèi)容進(jìn)入Cache 0 允許頁(yè)面的內(nèi)容進(jìn)入允許頁(yè)面的內(nèi)容進(jìn)入Cache 80486的輸出引腳的輸出引腳 非獨(dú)立功能非獨(dú)立功能PCD 在在CR3控制寄存器中控制寄存器

16、中 PCD 1 禁止頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入禁止頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入Cache 0 允許頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入允許頁(yè)目錄項(xiàng)的內(nèi)容進(jìn)入Cache (頁(yè)目錄項(xiàng)頁(yè)目錄項(xiàng)) (頁(yè)表項(xiàng)頁(yè)表項(xiàng)) 上述信號(hào)及引腳之間的關(guān)系上述信號(hào)及引腳之間的關(guān)系: . . . . CD NW . . . .CR0 Cache控制器控制器 Cache FLUSH PCD PWT + CR0中的中的CD + KEN PCD PWT 片外引腳片外引腳 來(lái)自來(lái)自CR3 或頁(yè)目錄或頁(yè)目錄 項(xiàng)或頁(yè)表項(xiàng)或頁(yè)表 項(xiàng)的項(xiàng)的PCD 和和PWT 當(dāng)當(dāng)“或非門或非門”輸輸 出出 1 當(dāng)前頁(yè)允許填充當(dāng)前頁(yè)允許填充Cache 0 當(dāng)前頁(yè)不允許填充當(dāng)前頁(yè)不允許填充

17、Cache 由此可得由此可得: 三、三、80486的引腳功能的引腳功能 1. 數(shù)據(jù)奇偶校驗(yàn)引腳數(shù)據(jù)奇偶校驗(yàn)引腳 DP3DP0 , 每一位針對(duì)一個(gè)字節(jié)每一位針對(duì)一個(gè)字節(jié), 即即: DP3 DP2 DP1 DP0 D31 D24 D23 D16 D15 D 8 D7 D0 只有當(dāng)只有當(dāng)CD=0、PCD=0、并且并且 KEN= 0時(shí)時(shí), 才才 能進(jìn)行能進(jìn)行Cache填充填充, 只要這三者中有一個(gè)為只要這三者中有一個(gè)為 “1”, 就禁止填充就禁止填充Cache。 寫數(shù)據(jù)時(shí)寫數(shù)據(jù)時(shí): CPU根據(jù)輸出的數(shù)據(jù)根據(jù)輸出的數(shù)據(jù), 內(nèi)部自動(dòng)按偶校驗(yàn)方內(nèi)部自動(dòng)按偶校驗(yàn)方 式生成式生成DP3 DP0 , 并連同數(shù)據(jù)位

18、一起輸出并連同數(shù)據(jù)位一起輸出。 讀數(shù)據(jù)時(shí)讀數(shù)據(jù)時(shí): CPU將數(shù)據(jù)位連同校驗(yàn)位一起讀回來(lái)。這要將數(shù)據(jù)位連同校驗(yàn)位一起讀回來(lái)。這要 求被求被CPU讀取的設(shè)備生成校驗(yàn)位。讀取的設(shè)備生成校驗(yàn)位。 2. 奇偶校驗(yàn)檢查位奇偶校驗(yàn)檢查位(CPU輸出輸出) PCHK 讀周期后有效讀周期后有效, 指示讀取的數(shù)據(jù)是否奇偶出錯(cuò)指示讀取的數(shù)據(jù)是否奇偶出錯(cuò) 奇偶校驗(yàn)位及校驗(yàn)檢查位奇偶校驗(yàn)位及校驗(yàn)檢查位 簡(jiǎn)化接口設(shè)計(jì)簡(jiǎn)化接口設(shè)計(jì) 例例: 處理器與一處理器與一8位外設(shè)通信位外設(shè)通信, 進(jìn)行出錯(cuò)校驗(yàn)進(jìn)行出錯(cuò)校驗(yàn), 設(shè)設(shè) 計(jì)利用以上信號(hào)進(jìn)行校驗(yàn)的接口電路原理圖計(jì)利用以上信號(hào)進(jìn)行校驗(yàn)的接口電路原理圖 . DP0 . INT引起中

19、斷引起中斷 要求要求CPU重發(fā)重發(fā) +5V C D Q Q R +5V C D Q Q R PCHK INT引起中斷引起中斷 要求要求CPU重讀重讀 D7 D0 (讀讀: 生成校驗(yàn)位生成校驗(yàn)位) 讀數(shù)據(jù)時(shí)讀數(shù)據(jù)時(shí): 寫數(shù)據(jù)時(shí)寫數(shù)據(jù)時(shí): CPU 數(shù)據(jù)總線數(shù)據(jù)總線D7 D0 8位位 端口端口譯碼譯碼 EN 3. 總線寬度控制信號(hào)總線寬度控制信號(hào)BS16BS8 (1) BS16 該信號(hào)與該信號(hào)與80386的的 的異同的異同:BS16 請(qǐng)求進(jìn)行請(qǐng)求進(jìn)行16位數(shù)據(jù)傳送位數(shù)據(jù)傳送 相同處相同處: 表示外設(shè)請(qǐng)求表示外設(shè)請(qǐng)求CPU進(jìn)行進(jìn)行16位的位的 數(shù)據(jù)傳送。如果數(shù)據(jù)傳送。如果CPU執(zhí)行的執(zhí)行的32位的位的

20、I/O指令指令, 自動(dòng)將其轉(zhuǎn)換成兩個(gè)自動(dòng)將其轉(zhuǎn)換成兩個(gè)16位的數(shù)據(jù)傳送周期位的數(shù)據(jù)傳送周期; 當(dāng)當(dāng) 有效有效, BS16 不同處不同處: 對(duì)對(duì)80386, 數(shù)據(jù)只在總線低數(shù)據(jù)只在總線低16位位D15D0上傳送。上傳送。 讀操作時(shí)讀操作時(shí): CPU的兩個(gè)的兩個(gè)16位的讀周期都只采樣數(shù)據(jù)總線位的讀周期都只采樣數(shù)據(jù)總線 低低16位位; 寫操作時(shí)寫操作時(shí): 第一個(gè)周期第一個(gè)周期, 在總線的在總線的D15D0上發(fā)送低半部上發(fā)送低半部; 第二個(gè)周期第二個(gè)周期, CPU將高半部自動(dòng)復(fù)制到數(shù)據(jù)總將高半部自動(dòng)復(fù)制到數(shù)據(jù)總 線低線低16位位D15D0上發(fā)送。上發(fā)送。 只需將外設(shè)的只需將外設(shè)的16位數(shù)據(jù)線連接到數(shù)據(jù)

21、位數(shù)據(jù)線連接到數(shù)據(jù) 總線的低總線的低16位位D15D0。 讀周期讀周期: 對(duì)對(duì)80486, 如果如果CPU執(zhí)行的執(zhí)行的32位的位的I/O指令指令, 第一個(gè)周第一個(gè)周 期在數(shù)據(jù)總線低期在數(shù)據(jù)總線低16位傳送低位字位傳送低位字, 第二個(gè)周期在數(shù)第二個(gè)周期在數(shù) 據(jù)總線高據(jù)總線高16位傳送高位字。位傳送高位字。 CPU D31D16 D15D0 外設(shè)外設(shè) 第二次讀第二次讀 第一次讀第一次讀 外設(shè)的外設(shè)的16位數(shù)據(jù)線連接到數(shù)據(jù)總線的高位數(shù)據(jù)線連接到數(shù)據(jù)總線的高16位位 D31D16還是低還是低16位位D15D0? 寫周期寫周期: CPU D31D16 D15D0 外設(shè)外設(shè) 第二次寫第二次寫 第一次寫第一

22、次寫 外設(shè)的外設(shè)的16位數(shù)據(jù)線連接到數(shù)據(jù)總線的高位數(shù)據(jù)線連接到數(shù)據(jù)總線的高16位位 D31D16還是低還是低16位位D15D0? (2) BS8 如果如果CPU執(zhí)行的執(zhí)行的32位的位的I/O指令指令, 則自動(dòng)轉(zhuǎn)換則自動(dòng)轉(zhuǎn)換 成成4個(gè)總線周期。四個(gè)周期分別傳送四個(gè)字個(gè)總線周期。四個(gè)周期分別傳送四個(gè)字 節(jié)節(jié), 依次在數(shù)據(jù)總線的四個(gè)字節(jié)上傳送。依次在數(shù)據(jù)總線的四個(gè)字節(jié)上傳送。 當(dāng)當(dāng) 有效時(shí)有效時(shí),BS8 進(jìn)行進(jìn)行8位數(shù)據(jù)的傳送位數(shù)據(jù)的傳送, 一次傳送一次傳送 一個(gè)字節(jié)一個(gè)字節(jié), 外設(shè)的外設(shè)的8位數(shù)據(jù)線連接到數(shù)據(jù)總線的四個(gè)位數(shù)據(jù)線連接到數(shù)據(jù)總線的四個(gè) 字節(jié)的哪個(gè)字節(jié)上字節(jié)的哪個(gè)字節(jié)上? 針對(duì)針對(duì)8位外

23、設(shè)。位外設(shè)。 用中間電路進(jìn)行轉(zhuǎn)換用中間電路進(jìn)行轉(zhuǎn)換, 保證保證16位或位或8位外設(shè)的數(shù)據(jù)位外設(shè)的數(shù)據(jù) 能依次傳送到數(shù)據(jù)總線的不同部分能依次傳送到數(shù)據(jù)總線的不同部分, 如下圖所示如下圖所示: 解決方法解決方法: CPU 32位外位外 設(shè)端口設(shè)端口 16位外位外 設(shè)端口設(shè)端口 8位外位外 設(shè)端口設(shè)端口 地地 址址 D31D24 D7 D0 D23D16 D15D8 字交換字交換 電路電路 字節(jié)交字節(jié)交 換電路換電路 8位位 16位位 字節(jié)交換電路字節(jié)交換電路 8位輸位輸 入設(shè)備入設(shè)備 D31D24 D7D0 D23D16 D15D8 數(shù)據(jù)鎖數(shù)據(jù)鎖 存器存器(8位位) 數(shù)據(jù)鎖數(shù)據(jù)鎖 存器存器(8位位

24、) 數(shù)據(jù)鎖數(shù)據(jù)鎖 存器存器(8位位) 數(shù)據(jù)鎖數(shù)據(jù)鎖 存器存器(8位位) OE OE OE OE RD BE3 BE2 BE1 BE0 說(shuō)明說(shuō)明: 通過(guò)通過(guò) 控制控制 CPU的每次讀操作。的每次讀操作。 用用4個(gè)總線周期個(gè)總線周期,依次依次 從從4個(gè)數(shù)據(jù)鎖存器讀個(gè)數(shù)據(jù)鎖存器讀 入數(shù)據(jù)。入數(shù)據(jù)。 同理可構(gòu)成字交換電同理可構(gòu)成字交換電 路。路。 BE0 BE3 + + + + 4. 總線請(qǐng)求及總線相應(yīng)信號(hào)總線請(qǐng)求及總線相應(yīng)信號(hào) HOLD: 總線請(qǐng)求信號(hào)總線請(qǐng)求信號(hào) (總線主設(shè)備與從設(shè)備總線主設(shè)備與從設(shè)備) HLDA:總線響應(yīng)信號(hào)總線響應(yīng)信號(hào) AHOLD: 地址保護(hù)請(qǐng)求信號(hào)地址保護(hù)請(qǐng)求信號(hào) 一個(gè)總線主

25、控設(shè)備向處理器提出的釋放系統(tǒng)一個(gè)總線主控設(shè)備向處理器提出的釋放系統(tǒng) 地址總線的請(qǐng)求信號(hào)。地址總線的請(qǐng)求信號(hào)。 該信號(hào)與該信號(hào)與 信號(hào)一起控制信號(hào)一起控制Cache操作。操作。EADS 5. Cache控制信號(hào)控制信號(hào) KEN 有效時(shí)有效時(shí), 可以填充可以填充Cache FLUSH有效時(shí)有效時(shí), 清除清除Cache PCD PWT用于控制片外用于控制片外Cache EADS ADSCPU輸出輸出信號(hào)信號(hào), 指示指示CPU總線周期開始總線周期開始 (地址及相應(yīng)控制信號(hào)已發(fā)到總線上地址及相應(yīng)控制信號(hào)已發(fā)到總線上)。 EADS CPU的的輸入輸入信號(hào)信號(hào), 向向CPU指示有其它指示有其它 主控設(shè)備已將

26、要進(jìn)行內(nèi)存寫入操作的主控設(shè)備已將要進(jìn)行內(nèi)存寫入操作的 地址放到了系統(tǒng)地址總線上。地址放到了系統(tǒng)地址總線上。 用于用于80486總線監(jiān)視地總線監(jiān)視功能總線監(jiān)視地總線監(jiān)視功能 便于在必要的情況下便于在必要的情況下, 將將Cache某些單某些單 元標(biāo)識(shí)為無(wú)效。元標(biāo)識(shí)為無(wú)效。 EADS 與與AHOLD一起一起, 構(gòu)成構(gòu)成80486的一個(gè)的一個(gè) “使無(wú)效使無(wú)效”的周期的周期, 其工作過(guò)程如下其工作過(guò)程如下: 某主控設(shè)備發(fā)出某主控設(shè)備發(fā)出AHOLD80486, 要求要求80486 釋放系統(tǒng)地址總線釋放系統(tǒng)地址總線; 80486讀取該地址讀取該地址(80486地址總線為雙向地址總線為雙向), 與與 自身自身

27、Cache中已有的地址進(jìn)行比較中已有的地址進(jìn)行比較, 若該地址若該地址 存在存在, 則標(biāo)識(shí)該地址單元內(nèi)容無(wú)效。則標(biāo)識(shí)該地址單元內(nèi)容無(wú)效。 EADS 該設(shè)備發(fā)出該設(shè)備發(fā)出 80486, 表示該設(shè)備的寫入表示該設(shè)備的寫入 內(nèi)存的地址已經(jīng)放到系統(tǒng)地址總線內(nèi)存的地址已經(jīng)放到系統(tǒng)地址總線; 6. 總線仲裁信號(hào)總線仲裁信號(hào) BREQ CPU的輸出信號(hào)的輸出信號(hào), 用于多機(jī)系統(tǒng)的總用于多機(jī)系統(tǒng)的總 線請(qǐng)求信號(hào)線請(qǐng)求信號(hào) CPU收到該信號(hào)收到該信號(hào), 將被強(qiáng)制讓出總線將被強(qiáng)制讓出總線 使用權(quán)。使用權(quán)。 BOFF 7. 總線狀態(tài)信號(hào)總線狀態(tài)信號(hào) RDYBRDYBLAST RDY與與8086的的Ready含義相同

28、 含義相同 BRDYBLAST 用于猝發(fā)用于猝發(fā)(Burst)傳送傳送 在在80486中中, 猝發(fā)傳送是指每一個(gè)猝發(fā)傳送是指每一個(gè)T(而不是每一而不是每一 個(gè)總線周期個(gè)總線周期2個(gè)個(gè)T)傳送一個(gè)數(shù)據(jù)。傳送一個(gè)數(shù)據(jù)。 猝發(fā)傳送由外設(shè)猝發(fā)傳送由外設(shè)CPU提出請(qǐng)求后進(jìn)行。提出請(qǐng)求后進(jìn)行。 外設(shè)請(qǐng)求猝發(fā)的方式是通過(guò)發(fā)送另一個(gè)外設(shè)請(qǐng)求猝發(fā)的方式是通過(guò)發(fā)送另一個(gè)“數(shù)數(shù) 據(jù)準(zhǔn)備好據(jù)準(zhǔn)備好”信號(hào)來(lái)實(shí)現(xiàn)的信號(hào)來(lái)實(shí)現(xiàn)的 每個(gè)時(shí)鐘節(jié)拍每個(gè)時(shí)鐘節(jié)拍T, BRDY CPU在每個(gè)在每個(gè)T 采樣數(shù)據(jù)總線。采樣數(shù)據(jù)總線。 如下圖所示如下圖所示: BRDY讓讓 有效有效, BLAST 地址地址 DATA T1T2T2T2T2T

29、2T1T2 RDY BRDY 猝發(fā)傳送猝發(fā)傳送 結(jié)束猝發(fā)傳送有兩種方式結(jié)束猝發(fā)傳送有兩種方式: 被訪問(wèn)設(shè)備主動(dòng)結(jié)束被訪問(wèn)設(shè)備主動(dòng)結(jié)束: CPU主動(dòng)中止主動(dòng)中止: BRDY停止停止 有效有效; 發(fā)出發(fā)出 信號(hào)。信號(hào)。BLAST 四、四、80386/80486多功能接口芯片多功能接口芯片 82380簡(jiǎn)介簡(jiǎn)介 82380 的主要功能部件的主要功能部件: DMA控制器控制器(相當(dāng)于原來(lái)的相當(dāng)于原來(lái)的Intel8237和和80286 中的中的Intel82258DMAC的功能的功能) DRAM刷新控制器刷新控制器(=W4006AF,由由WACOM公公 司設(shè)計(jì)司設(shè)計(jì)) 中斷控制器中斷控制器(相當(dāng)于相當(dāng)于I

30、ntel8259) 可編程計(jì)數(shù)可編程計(jì)數(shù)/定時(shí)器定時(shí)器(相當(dāng)于相當(dāng)于Intel8253) 等待狀態(tài)發(fā)生器等待狀態(tài)發(fā)生器(用于產(chǎn)生用于產(chǎn)生Ready信號(hào)信號(hào)) 系統(tǒng)重置電路系統(tǒng)重置電路(用于產(chǎn)生用于產(chǎn)生Reset信號(hào)信號(hào)) 1. DMA控制器控制器 構(gòu)成構(gòu)成 內(nèi)部含有內(nèi)部含有8個(gè)通道個(gè)通道, 可以連接可以連接8個(gè)請(qǐng)求設(shè)備個(gè)請(qǐng)求設(shè)備; 每個(gè)通道有獨(dú)立的控制邏輯和通道寄存器每個(gè)通道有獨(dú)立的控制邏輯和通道寄存器. 通道通道0 通道通道1 通道通道7 . 通道控制器通道控制器 控制寄存器控制寄存器 狀態(tài)寄存器狀態(tài)寄存器 DMA 請(qǐng)求請(qǐng)求 和仲和仲 裁電裁電 路路 DREQ0 DREQ3 DREQ4 DR

31、EQ5 DREQ6 DREQ7 DREQ2 DREQ1 CPU 接口接口 HOLDHLDA 工作過(guò)程工作過(guò)程: 略略 DMA傳送方式傳送方式 三種工作方式三種工作方式(通過(guò)寫入控制字來(lái)規(guī)定通過(guò)寫入控制字來(lái)規(guī)定): 單一數(shù)據(jù)傳送單一數(shù)據(jù)傳送 1個(gè)個(gè)DMA周期傳送一個(gè)數(shù)據(jù)后結(jié)束周期傳送一個(gè)數(shù)據(jù)后結(jié)束, CPU重重 新控制總線。新控制總線。 若若DREQi請(qǐng)求端一直連請(qǐng)求端一直連 續(xù)地發(fā)出請(qǐng)求續(xù)地發(fā)出請(qǐng)求, 則信號(hào)則信號(hào)DREQi-HOLD-HLDA 始終重復(fù)至所要的字節(jié)數(shù)傳輸完畢為止。始終重復(fù)至所要的字節(jié)數(shù)傳輸完畢為止。 每一次數(shù)據(jù)傳輸時(shí)每一次數(shù)據(jù)傳輸時(shí), DMA控制器都需要對(duì)控制器都需要對(duì) DR

32、EQ輸入的請(qǐng)求信號(hào)進(jìn)行仲裁輸入的請(qǐng)求信號(hào)進(jìn)行仲裁, 并且執(zhí)行并且執(zhí)行 HOLD/HLDA操作。操作。 數(shù)據(jù)塊傳送數(shù)據(jù)塊傳送 設(shè)置設(shè)置DMA內(nèi)的一個(gè)內(nèi)的一個(gè)24位計(jì)數(shù)器的計(jì)數(shù)初值位計(jì)數(shù)器的計(jì)數(shù)初值, 每每 傳送一個(gè)字節(jié)傳送一個(gè)字節(jié), 計(jì)數(shù)器減計(jì)數(shù)器減1, 直到計(jì)數(shù)器減為直到計(jì)數(shù)器減為0為為 止止, 傳送結(jié)束。傳送結(jié)束。 需求傳送需求傳送 計(jì)數(shù)器仍然計(jì)數(shù)計(jì)數(shù)器仍然計(jì)數(shù), 直到計(jì)數(shù)器減為直到計(jì)數(shù)器減為0傳送結(jié)束傳送結(jié)束; 若請(qǐng)求信號(hào)若請(qǐng)求信號(hào)DREQ變?yōu)闊o(wú)效變?yōu)闊o(wú)效, 也結(jié)束也結(jié)束DMA傳送傳送 注注: 82380還有一個(gè)信號(hào)還有一個(gè)信號(hào)EOP, 當(dāng)該信號(hào)有效時(shí)當(dāng)該信號(hào)有效時(shí), 無(wú)論是哪一種傳輸方式

33、無(wú)論是哪一種傳輸方式, 傳輸過(guò)程都將結(jié)束。傳輸過(guò)程都將結(jié)束。 DMA仲裁仲裁(多個(gè)請(qǐng)求信號(hào)同時(shí)有效時(shí)多個(gè)請(qǐng)求信號(hào)同時(shí)有效時(shí)) 固定方式固定方式(靜態(tài)方式靜態(tài)方式): 軟件編程設(shè)置通道優(yōu)先權(quán)軟件編程設(shè)置通道優(yōu)先權(quán), 若不重新設(shè)置若不重新設(shè)置, 則保持不變則保持不變; 若軟件對(duì)優(yōu)先權(quán)不加以設(shè)定若軟件對(duì)優(yōu)先權(quán)不加以設(shè)定, 則則DMA控制控制 器自動(dòng)按通道器自動(dòng)按通道0到通道到通道7優(yōu)先權(quán)從高到低。優(yōu)先權(quán)從高到低。 循環(huán)式循環(huán)式(動(dòng)態(tài)方式動(dòng)態(tài)方式): 一個(gè)通道請(qǐng)求被響應(yīng)且一個(gè)通道請(qǐng)求被響應(yīng)且 完成數(shù)據(jù)傳送后完成數(shù)據(jù)傳送后, 優(yōu)先權(quán)自動(dòng)降為最低。優(yōu)先權(quán)自動(dòng)降為最低。 八個(gè)通道還可以分成兩個(gè)組八個(gè)通道還可

34、以分成兩個(gè)組(0 3通道和通道和47通道通道), 兩個(gè)組可以分別按不同的優(yōu)先級(jí)設(shè)置方式。兩個(gè)組可以分別按不同的優(yōu)先級(jí)設(shè)置方式。 8237A一般只限于執(zhí)行一般只限于執(zhí)行I/O設(shè)備與存儲(chǔ)器之間設(shè)備與存儲(chǔ)器之間 的傳輸?shù)膫鬏? 82380則可以控制以下部件間的數(shù)據(jù)傳送則可以控制以下部件間的數(shù)據(jù)傳送: 存儲(chǔ)器與存儲(chǔ)器之間存儲(chǔ)器與存儲(chǔ)器之間 存儲(chǔ)器與存儲(chǔ)器與I/O設(shè)備之間設(shè)備之間 兩個(gè)高速兩個(gè)高速I/O設(shè)備之間設(shè)備之間 82380的的DMA與與8237A的兼容性的兼容性 82380的的DMA除包含了除包含了8237A的全部功能外的全部功能外, 增加一些控制寄存器增加一些控制寄存器, 也增加了寄存器的長(zhǎng)度也增加了寄存器的長(zhǎng)度, 并并 增加了一些功能。增加了一些功能。 比如比如: 2. 可編程計(jì)數(shù)定時(shí)器可編程計(jì)數(shù)定時(shí)器 與與Intel 8253基本相同基本相同, 核心為核心為4個(gè)計(jì)數(shù)通道個(gè)計(jì)數(shù)通道. 數(shù)據(jù)緩沖數(shù)據(jù)緩沖 器及接口器及接口 控制電路控制電路 第一控制第一控制 寄存器寄

溫馨提示

  • 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)論