




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、最近老有同學(xué)反應(yīng)有一些知識(shí)點(diǎn)理解的不太透徹,小編總結(jié)了一下,給同學(xué)們加深一下理解和記憶。 HYPERLINK /s?_biz=MzA4MjU0ODI0OA=&mid=2654976830&idx=2&sn=2107c304b7ff42c56bea3102f39962e6&scene=21 l wechat_redirect t _blank 高速緩沖存儲(chǔ)器(Cache)隨著CPU時(shí)鐘速率的不斷提高,當(dāng)它訪(fǎng)問(wèn)低速存儲(chǔ)器時(shí),不得不插入等待周期,這就明顯降低了高速CPU的效率。為了與CPU的速率相匹配,可以采用高速存儲(chǔ)器,但它的成本很高,用來(lái)組成大容量的主存儲(chǔ)器很不經(jīng)濟(jì)。成本較低的存儲(chǔ)器適宜制作大容
2、量的主存儲(chǔ)器,但是速度過(guò)低。為了折中地解決速率與成本兩者之間的矛盾,兼顧高速與低成本各自的優(yōu)勢(shì),在現(xiàn)代微機(jī)系統(tǒng)中,采用了高速緩沖存儲(chǔ)器cache技術(shù)。cache通常采用與CPU同樣的半導(dǎo)體材料制成,速度一般比主存高5倍左右。由于其高速而高價(jià),故容量通常較小,一般為幾KB到幾十KB,僅用來(lái)保存主存中最經(jīng)常用到的一部分內(nèi)容的副本。統(tǒng)計(jì)表明,利用一級(jí)cache,可使存儲(chǔ)器的存取速度提高410倍。當(dāng)速度差更大時(shí),可采用多級(jí)cache。目前大多數(shù)PC的高速緩存都分為兩個(gè)級(jí)別:L1 cache和L2 cache。L1 cache集成在CPU芯片內(nèi),時(shí)鐘周期與CPU相同;L2 cache通常封裝在CPU芯片
3、之外,采用SRAM芯片,時(shí)鐘周期比CPU慢一半或更低。就容量而言,L2 cache的容量通常比L1 cache大一個(gè)數(shù)量級(jí)以上,從幾百KB到幾千KB不等。80486CPU芯片內(nèi)有8KB的cache,存放程序和數(shù)據(jù),并支持L2 cache。cache在微機(jī)系統(tǒng)中的位置如下圖所示。cache在微機(jī)系統(tǒng)中的位置cache的工作原理在CPU的所有操作中,訪(fǎng)問(wèn)內(nèi)存是最頻繁的操作。由于一般微機(jī)中的主存儲(chǔ)器主要由MOS型動(dòng)態(tài)RAM構(gòu)成,其工作速度比CPU低一個(gè)數(shù)量級(jí),加上CPU的所有訪(fǎng)問(wèn)都要通過(guò)總線(xiàn)這個(gè)瓶頸,所以,縮短存儲(chǔ)器的訪(fǎng)問(wèn)時(shí)間是提高計(jì)算機(jī)速度的關(guān)鍵。采用在CPU和內(nèi)存之間加進(jìn)高速緩沖存儲(chǔ)器cache
4、的辦法較好地解決了這一問(wèn)題。所謂“cache”原意是指勘探人員的藏物處,這里引申為“高速緩存”。在保證系統(tǒng)性能價(jià)格比的前提下,使用速度與CPU相當(dāng)?shù)腟RAM芯片組成小容量的高速緩存器,使用低價(jià)格、小體積能提供更大存儲(chǔ)空間的DRAM芯片(或內(nèi)存條)組成主存儲(chǔ)器。下面,以取指為例對(duì)cache的工作原理進(jìn)行說(shuō)明。命中率是高速緩存子系統(tǒng)操作有效性的一種測(cè)度,它被定義為高速緩存命中次數(shù)與存儲(chǔ)器訪(fǎng)問(wèn)總次數(shù)之比,用百分率來(lái)表示,即例如,若高速緩存的命中率為92%,則意味著CPU可用92%的總線(xiàn)周期從高速緩存中讀取數(shù)據(jù)。換句話(huà)說(shuō),僅有8%的存儲(chǔ)器訪(fǎng)問(wèn)是對(duì)主存儲(chǔ)器子系統(tǒng)進(jìn)行的。假設(shè)經(jīng)過(guò)前面的操作cache中已保
5、存了一個(gè)指令序列,當(dāng)CPU按地址再次取指時(shí),cache控制器會(huì)先分析地址,看其是否已在cache中,若在,則立即取來(lái),否則,再去訪(fǎng)問(wèn)內(nèi)存。因?yàn)榇蠖鄶?shù)程序有一個(gè)共同特點(diǎn),即在第一次訪(fǎng)問(wèn)了某個(gè)存儲(chǔ)區(qū)域后,還要重復(fù)訪(fǎng)問(wèn)這個(gè)區(qū)域。CPU第一次訪(fǎng)問(wèn)低速DRAM時(shí),要插入等待周期。當(dāng)CPU進(jìn)行第一次訪(fǎng)問(wèn)時(shí),也把數(shù)據(jù)存到高速緩存區(qū)。因此,當(dāng)CPU再訪(fǎng)問(wèn)這一區(qū)域時(shí),CPU就可以直接訪(fǎng)問(wèn)高速緩存區(qū),而不訪(fǎng)問(wèn)低速主存儲(chǔ)器。因?yàn)楦咚倬彺嫫魅萘窟h(yuǎn)小于低速大容量主存儲(chǔ)器,所以它不可能包含后者的所有信息。當(dāng)高速緩存區(qū)內(nèi)容已裝滿(mǎn)時(shí),需要存儲(chǔ)新的低速主存儲(chǔ)器位置上的內(nèi)容,以代替舊位置上的內(nèi)容。高速緩存器的設(shè)計(jì)目標(biāo)是使CPU訪(fǎng)
6、問(wèn)盡可能在高速緩存器中進(jìn)行,其工作原理如下圖所示。cahce的工作原理圖cache的讀/寫(xiě)策略這里講述的讀/寫(xiě)策略依然是針對(duì)CPU對(duì)存儲(chǔ)器的讀/寫(xiě)訪(fǎng)問(wèn)的,即cache讀操作實(shí)際上是CPU讀存儲(chǔ)器,cache寫(xiě)操作實(shí)際上是CPU寫(xiě)存儲(chǔ)器。在cache中應(yīng)盡量存放CPU最近一直在使用的數(shù)據(jù)。當(dāng)cache裝滿(mǎn)后,可將長(zhǎng)期不用的數(shù)據(jù)刪除,以提高cache的使用效率。為保持cache中的數(shù)據(jù)與主存儲(chǔ)器中的數(shù)據(jù)的一致性,同時(shí)避免CPU在讀/寫(xiě)過(guò)程中遺失新數(shù)據(jù),確保cache中更新過(guò)的數(shù)據(jù)不會(huì)因覆蓋而消失,必須將cache中的數(shù)據(jù)及時(shí)更新并準(zhǔn)確地反映到主存儲(chǔ)器。這里涉及CPU、cache與主存儲(chǔ)器三者之間的
7、協(xié)調(diào),使得讀/寫(xiě)操作復(fù)雜化,從而也引入了一些新的方法與專(zhuān)業(yè)術(shù)語(yǔ)。1讀策略讀策略又可分為以下兩種。(1)貫穿讀出式(look through) 貫穿讀出式的原理如下圖所示。cahce貫穿讀出式原理在這種方式下,cache位于CPU與主存之間,CPU對(duì)主存的所有數(shù)據(jù)請(qǐng)求都首先送到cache,由cache在自身查找。如果命中,則切斷CPU對(duì)主存的請(qǐng)求,并將數(shù)據(jù)送出;如果未命中,則將數(shù)據(jù)請(qǐng)求傳給主存。該方法的優(yōu)點(diǎn)是降低了CPU對(duì)主存的請(qǐng)求次數(shù),缺點(diǎn)是延遲了CPU對(duì)主存的訪(fǎng)問(wèn)時(shí)間。(2)旁路讀出式(look aside)在這種方式中,CPU發(fā)出數(shù)據(jù)請(qǐng)求,并不是單通道地穿過(guò)cache,而是向cache和主
8、存同時(shí)發(fā)出請(qǐng)求。由于cache速度更快,如果命中,則cache在將數(shù)據(jù)回送給CPU的同時(shí),還來(lái)得及中斷CPU對(duì)主存的請(qǐng)求;若未命中,則cache不做任何動(dòng)作,由CPU直接訪(fǎng)問(wèn)主存。它的優(yōu)點(diǎn)是沒(méi)有時(shí)間延遲,缺點(diǎn)是每次CPU都要訪(fǎng)問(wèn)主存,這樣就占用了部分總線(xiàn)時(shí)間。旁路讀出式的原理如下圖所示。cahce旁路讀出式原理還有另外一個(gè)值得注意的概念,那就是“行填充”。每當(dāng)CPU由主存儲(chǔ)器讀入數(shù)據(jù)時(shí),同時(shí)還要將該數(shù)據(jù)復(fù)制到cache中。即使當(dāng)前CPU僅讀一個(gè)字節(jié),cache控制器也總是要將主存儲(chǔ)器中包含該字節(jié)的一個(gè)完整的cache行復(fù)制到cache中。一個(gè)cache行占據(jù)32個(gè)字節(jié),這種從主存儲(chǔ)器向cach
9、e傳送一行數(shù)據(jù)的操作就稱(chēng)為cache行填充(line fill),這是考慮到數(shù)據(jù)與代碼往往具有連續(xù)性,CPU下一次所需的數(shù)據(jù)或代碼通常還是處在上一次的數(shù)據(jù)或代碼附近,即同處一cache行中的可能性最大,這樣處理就提高了cache的命中率。由此可見(jiàn),cache中的數(shù)據(jù)是由空到滿(mǎn)逐行建立起來(lái)的。cache行的容量過(guò)小時(shí),會(huì)產(chǎn)生頻繁的行填充操作,整機(jī)效率不會(huì)有明顯提高。然而當(dāng)一行的容量空間過(guò)大時(shí),填充一行所需的時(shí)間較長(zhǎng),而且可能有許多數(shù)據(jù)并不是CPU最近所需要的,從而造成過(guò)大的浪費(fèi),這樣也不會(huì)使整機(jī)效率顯著上升。因此必須折中各種因素來(lái)選擇cache行的大小。Intel體系的32位微處理器中一個(gè)cac
10、he行由32個(gè)字節(jié)組成,并且cache控制器用后面即將討論的突發(fā)模式傳送數(shù)據(jù)塊,一次突發(fā)傳送一個(gè)cache行的32個(gè)字節(jié),其傳輸速率比常規(guī)訪(fǎng)問(wèn)幾乎高出一倍。就cache整體容量而言,也有同cache行類(lèi)似的矛盾。cache容量過(guò)小將起不到明顯改善系統(tǒng)性能的效果;增加cache容量自然可以存儲(chǔ)更多的信息,但隨之也就增加了成本,且搜索大容量的cache還不如搜索小容量的速度快。可見(jiàn),cache的容量要兼顧多種因素,選擇適中,一般取主存儲(chǔ)器的幾十分之一或者幾百分之一。每當(dāng)CPU所需的數(shù)據(jù)或代碼不在cache中而出現(xiàn)未命中時(shí),cache控制器就必須在主存儲(chǔ)器中讀取數(shù)據(jù),這段時(shí)間較長(zhǎng)且需要等待。此時(shí),c
11、ache控制器使“準(zhǔn)備好”或類(lèi)似的信號(hào)變?yōu)闊o(wú)效,于是CPU插入等待時(shí)鐘周期,cache控制器將訪(fǎng)問(wèn)主存儲(chǔ)器,將所需數(shù)據(jù)傳送給CPU。2替換策略當(dāng)cache已經(jīng)裝滿(mǎn)后,主存儲(chǔ)器中新的數(shù)據(jù)還要不斷地替換掉cache中過(guò)時(shí)的數(shù)據(jù),這就產(chǎn)生了cache塊數(shù)據(jù)的替換策略。那么應(yīng)替換哪些cache塊才能提高命中率呢?理想的替換策略應(yīng)該使得cache中總是保存著最近將要使用的數(shù)據(jù),不用的數(shù)據(jù)則被替換掉,這樣才能保證很高的命中率。目前,使用較多的是隨機(jī)(random)替換、先入先出(FIFO)替換與近期最少使用(LRU)替換三種策略。(1)隨機(jī)(random)替換策略隨機(jī)替換是不顧cache塊過(guò)去、現(xiàn)在及將來(lái)
12、使用的情況而隨機(jī)地選擇某塊進(jìn)行替換,這是一種最簡(jiǎn)單的方法。(2)先入先出(FIFO)替換策略先入先出(FIFO)替換策略的基本思想是:根據(jù)進(jìn)入cache的先后次序來(lái)替換,先調(diào)入的cache塊被首先替換掉。這種策略不需要隨時(shí)記錄各個(gè)塊的使用情況,容易實(shí)現(xiàn),且系統(tǒng)開(kāi)銷(xiāo)小。其缺點(diǎn)是一些需要經(jīng)常使用的程序塊可能會(huì)被調(diào)入的新塊替換掉。(3)近期最少使用(LRU)替換策略近期最少使用LRU(least recently used)替換策略的基本思想是:把CPU近期最少使用的塊作為被替換的塊。這種替換算法相對(duì)合理,命中率最高,是目前最常采用的方法。它需要隨時(shí)記錄cache中各塊的使用情況,以便確定哪個(gè)塊是近
13、期最少使用的塊,實(shí)現(xiàn)起來(lái)比較復(fù)雜,系統(tǒng)開(kāi)銷(xiāo)較大。不管是哪種策略,它們都只能用硬件電路來(lái)實(shí)現(xiàn),試想若依靠軟件的話(huà),cache的“高速”含義就毫無(wú)意義了。3寫(xiě)策略以上討論的都是CPU讀數(shù)據(jù)的情況,另一種是CPU寫(xiě)數(shù)據(jù)的情況。cache控制器同樣會(huì)判斷其地址是否定位在cache中。如果在,CPU的數(shù)據(jù)就會(huì)寫(xiě)到cache中。對(duì)于進(jìn)一步的主存儲(chǔ)器操作,cache控制器有以下幾種主要的寫(xiě)策略。(1)通寫(xiě)方式(write through) 通寫(xiě)方式的原理如下圖所示。cahce通寫(xiě)方式原理任一從CPU發(fā)出的寫(xiě)信號(hào)送到cache的同時(shí),也送到主存,以保證主存的數(shù)據(jù)能同步地更新。它的優(yōu)點(diǎn)是操作簡(jiǎn)單,但由于主存的速
14、度相對(duì)較慢,降低了系統(tǒng)的寫(xiě)速度并占用了部分總線(xiàn)時(shí)間。(2)回寫(xiě)方式(write back) 回寫(xiě)方式的原理如圖5.29所示。cahce回寫(xiě)方式原理為了盡量減少對(duì)主存的訪(fǎng)問(wèn)次數(shù),克服通寫(xiě)方式中每次數(shù)據(jù)寫(xiě)入都要訪(fǎng)問(wèn)主存,從而導(dǎo)致系統(tǒng)寫(xiě)速度降低并占用總線(xiàn)時(shí)間的弊病,又有了回寫(xiě)方式。它的工作原理是:數(shù)據(jù)一般只寫(xiě)到cache,而不寫(xiě)入主存,從而使寫(xiě)入的速度加快。但這樣有可能出現(xiàn)cache中的數(shù)據(jù)得到更新而對(duì)應(yīng)主存中的數(shù)據(jù)卻沒(méi)有變(即數(shù)據(jù)不同步)的情況。此時(shí)可在cache中設(shè)置一個(gè)標(biāo)志地址及數(shù)據(jù)陳舊的信息,只有當(dāng)cache中的數(shù)據(jù)被再次更改時(shí),才將原更新的數(shù)據(jù)寫(xiě)入主存相應(yīng)的單元中,然后接受再次更新的數(shù)據(jù)。
15、這樣就保證了cache和主存中的數(shù)據(jù)不產(chǎn)生沖突。(3)失效(invalidation)當(dāng)系統(tǒng)中存在其他微處理器或DMA操作的系統(tǒng)部件時(shí),主存儲(chǔ)器即成為共享存儲(chǔ)器。它們之中的任何一方對(duì)主存儲(chǔ)器都有可能覆蓋寫(xiě)入。此時(shí)cache控制器必須通報(bào)有關(guān)的cache行,它們的數(shù)據(jù)由于主存儲(chǔ)器已被修改而成為無(wú)效,這種操作就稱(chēng)為cache失效。cache的地址映射為了把數(shù)據(jù)從主存中取出送入cache中,必須使用某種地址轉(zhuǎn)換機(jī)制把主存地址映射到cache中定位,稱(chēng)為地址映射。實(shí)現(xiàn)方法是:將主存和cache都分為大小相等的若干塊(或稱(chēng)頁(yè)),每塊的大小為2n個(gè)字節(jié),通常為29(512B),210(1 024B)或21
16、1(2 048B)等,以塊為單位進(jìn)行映射。假設(shè)某系統(tǒng)的cache容量為1MB,若每塊容量為1KB,則被分為1 024塊;cache容量為8KB,每塊容量也是1KB,則被分為8塊。下面以此為例,介紹三種cache的地址映射方法。1直接地址映射(direct mapping)直接地址映射是指主存中每一個(gè)塊只能映射到某一固定的cache中,如下圖所示。cahce直接地址映射把主存按cache大小分為若干組,每一組按對(duì)應(yīng)的塊號(hào)進(jìn)行映射。如主存的第0塊、第8塊、第1 016塊,只能映射到cache的第0塊;而主存的第1塊、第9塊、第1 017塊只能映射到cache的第1塊,依次類(lèi)推。這種映射方法比較簡(jiǎn)單
17、,且地址轉(zhuǎn)換速度快,但不夠靈活,使得cache的存儲(chǔ)空間得不到充分利用。2全相聯(lián)地址映射(fully associative mapping)相聯(lián)地址映射是指主存中的每一塊都可以映射到cache的任何一塊位置上,如下圖所示。這種映射方法比較靈活,cache的利用率高,但地址轉(zhuǎn)換速度慢,且需要采用某種置換算法將cache中的內(nèi)容調(diào)入調(diào)出,實(shí)現(xiàn)起來(lái)系統(tǒng)開(kāi)銷(xiāo)大。cache全相聯(lián)地址映射3組相聯(lián)地址映射(set associative mapping)組相聯(lián)地址映射是直接地址映射和全相聯(lián)地址映射的折中方案,如下圖所示。主存和cache都分組,主存中一個(gè)組內(nèi)的塊數(shù)與cache中的分組數(shù)相同。組間采用直接
18、地址映射,而組內(nèi)采用全相聯(lián)地址映射。主存中的各塊與cache的組號(hào)間有固定的映射關(guān)系,但可以自由映射到對(duì)應(yīng)的cache組中的任何一塊。如主存中的第0塊可映射到cache的第0組的第0塊或第1塊;主存中的第1塊可映射到cache的第1組的第2塊或第3塊等。這種映射方法比直接地址映射靈活,比全相聯(lián)地址映射速度快。實(shí)際上,若組的大小為1時(shí),就變成了直接映射;若組的大小為整個(gè)cache的尺寸時(shí),就變成了全相聯(lián)映射。cache組相聯(lián)地址映射I/O接口概述I/O接口(input/output interface)技術(shù)是實(shí)現(xiàn)計(jì)算機(jī)與外部設(shè)備之間信息交換的一門(mén)技術(shù),在微機(jī)系統(tǒng)設(shè)計(jì)和應(yīng)用過(guò)程中占有極其重要的地位
19、。I/O接口電路介于主機(jī)與外部設(shè)備之間,是微處理器與外部設(shè)備信息交換的橋梁。外部設(shè)備通過(guò)I/O接口電路把信息傳送給微處理器進(jìn)行處理,而微處理器將處理結(jié)果通過(guò)I/O接口電路傳送到外部設(shè)備。由此可見(jiàn),如果沒(méi)有I/O接口電路,微處理器就不可能發(fā)揮其應(yīng)有的作用,人們也就無(wú)法使用計(jì)算機(jī)。I/O接口技術(shù)包括硬件電路和相關(guān)的軟件編程技術(shù),在學(xué)習(xí)這部分內(nèi)容時(shí),不但要求了解I/O接口的基本構(gòu)成和工作原理,更要著重掌握I/O接口芯片在應(yīng)用系統(tǒng)中的硬件連接方法及編程技術(shù)。計(jì)算機(jī)系統(tǒng)的輸入/輸出設(shè)備是計(jì)算機(jī)系統(tǒng)的重要組成部分,稱(chēng)為外部設(shè)備或I/O設(shè)備,用于計(jì)算機(jī)輸入/輸出信息。常見(jiàn)的輸入設(shè)備有鍵盤(pán)、鼠標(biāo)、圖形掃描儀、
20、條形碼讀入器、光筆和觸摸屏等。輸出設(shè)備有顯示器、打印機(jī)、繪圖儀和影像輸出設(shè)備等。在測(cè)控系統(tǒng)中,還會(huì)用到模/數(shù)轉(zhuǎn)換器、數(shù)/模轉(zhuǎn)換器、發(fā)光二極管(LED)、按鈕、開(kāi)關(guān)等。此外,還有許多專(zhuān)用I/O設(shè)備。這些I/O設(shè)備或裝置不僅結(jié)構(gòu)、特性、工作原理和驅(qū)動(dòng)方式不同,而且傳送的電平、數(shù)據(jù)格式和速度差異也很大,同時(shí),在進(jìn)行數(shù)據(jù)處理時(shí),其速度比CPU慢得多。所以,它們不能和CPU(或系統(tǒng)總線(xiàn))直接相連,必須借助于中間電路,這部分電路被稱(chēng)為I/O接口電路,簡(jiǎn)稱(chēng)I/O接口,定義為:I/O接口是位于I/O設(shè)備與CPU之間的電路,用來(lái)進(jìn)行速度和工作方式的匹配,并協(xié)助完成二者之間的數(shù)據(jù)傳送。 接口技術(shù)1接口的主要功能I
21、/O接口種類(lèi)繁多,并且適用的場(chǎng)合也不同,有用于數(shù)據(jù)通信的,有用于數(shù)據(jù)格式轉(zhuǎn)換的,有用于電平轉(zhuǎn)換的,也有用于系統(tǒng)定時(shí)/計(jì)數(shù)和DMA傳送的,等等。各種功能歸納如下:(1)對(duì)傳送數(shù)據(jù)提供緩沖、隔離和寄存由于I/O設(shè)備與CPU的定時(shí)標(biāo)準(zhǔn)不同,數(shù)據(jù)處理速度也不同,所以需要對(duì)傳送數(shù)據(jù)提供緩沖、隔離和寄存(或鎖存)。在輸出接口中,一般都設(shè)計(jì)有寄存器或鎖存器。在輸入接口中,一般設(shè)計(jì)有寄存器和緩沖隔離環(huán)節(jié)(如三態(tài)門(mén)),用來(lái)存放輸入的數(shù)據(jù),并起到隔離作用,只有被CPU選中的設(shè)備才能將數(shù)據(jù)送到系統(tǒng)總線(xiàn)上,供CPU讀取。(2)對(duì)信號(hào)的形式和數(shù)據(jù)的格式進(jìn)行轉(zhuǎn)換當(dāng)計(jì)算機(jī)與I/O設(shè)備所用的信號(hào)形式、數(shù)據(jù)格式不同時(shí),I/O接
22、口能進(jìn)行相互之間的轉(zhuǎn)換。如數(shù)字量與模擬量的轉(zhuǎn)換、串行數(shù)據(jù)與并行數(shù)據(jù)的格式轉(zhuǎn)換,以及TTL與CMOS之間的電平轉(zhuǎn)換等。(3)對(duì)I/O端口進(jìn)行尋址在實(shí)際應(yīng)用中,I/O接口包含有若干個(gè)寄存器或功能電路,稱(chēng)為I/O端口。每一個(gè)I/O端口都有一個(gè)編號(hào),稱(chēng)為端口地址,簡(jiǎn)稱(chēng)口地址。與訪(fǎng)問(wèn)存儲(chǔ)單元類(lèi)似,CPU與I/O端口交換信息時(shí),總是先給出端口地址,被選中的端口才可以與CPU進(jìn)行信息交換。(4)與CPU和I/O設(shè)備進(jìn)行聯(lián)絡(luò)I/O接口處于CPU和I/O設(shè)備之間,在傳送數(shù)據(jù)時(shí),I/O接口一方面與CPU進(jìn)行聯(lián)絡(luò),另一方面與外設(shè)進(jìn)行聯(lián)絡(luò)。聯(lián)絡(luò)信號(hào)有:狀態(tài)信號(hào)(如設(shè)備準(zhǔn)備就緒)、請(qǐng)求信號(hào)(如中斷請(qǐng)求)和控制信號(hào)(如中
23、斷響應(yīng))等。 2I/O接口的基本結(jié)構(gòu)典型I/O接口電路的基本結(jié)構(gòu)如下圖所示,它通常包括數(shù)據(jù)寄存器、控制寄存器、狀態(tài)寄存器、數(shù)據(jù)緩沖器和讀/寫(xiě)控制單元。典型I/O接口電路的基本結(jié)構(gòu)數(shù)據(jù)寄存器是可讀可寫(xiě)的寄存器,用來(lái)存放CPU與I/O設(shè)備交換的數(shù)據(jù)信息。控制寄存器只能寫(xiě)不能讀,用來(lái)存放CPU向外部設(shè)備發(fā)送的控制命令和工作方式命令字等。狀態(tài)寄存器能讀不能寫(xiě),用來(lái)存放外部設(shè)備當(dāng)前的工作狀態(tài)信息,供CPU查詢(xún)。數(shù)據(jù)緩沖器是CPU與I/O備數(shù)據(jù)信息交換的通道,它與CPU的數(shù)據(jù)總線(xiàn)DB連接。讀/寫(xiě)控制邏輯單元與CPU的地址總線(xiàn)AB、控制總線(xiàn)CB連接,接收CPU發(fā)送到I/O接口的讀/寫(xiě)控制信號(hào)和端口選擇信號(hào),
24、選擇接口內(nèi)部的寄存器進(jìn)行讀/寫(xiě)操作。目前,I/O接口可分為中小規(guī)模集成電路芯片、可編程接口芯片和多功能接口芯片三大類(lèi)。前兩種在微型計(jì)算機(jī)出現(xiàn)時(shí)就已經(jīng)被采用,后一種出現(xiàn)得較晚,從80386微機(jī)開(kāi)始批量應(yīng)用,現(xiàn)在的高檔微機(jī)廣泛采用多功能接口芯片。I/O端口的編址方式在不同的微機(jī)系統(tǒng)中,I/O端口的地址編排有兩種形式:與存儲(chǔ)器統(tǒng)一編址和獨(dú)立編址。1I/O端口與存儲(chǔ)器統(tǒng)一編址(存儲(chǔ)器映像編址)在這種編址方式中,將存儲(chǔ)器地址空間的一部分作為I/O端口空間。也就是說(shuō),把I/O接口中可以訪(fǎng)問(wèn)的端口作為存儲(chǔ)器的一個(gè)存儲(chǔ)單元,統(tǒng)一納入存儲(chǔ)器地址空間,為每一個(gè)端口分配一個(gè)存儲(chǔ)器地址,CPU可以用訪(fǎng)問(wèn)存儲(chǔ)器的方式來(lái)
25、訪(fǎng)問(wèn)I/O端口。這種編址方式的優(yōu)點(diǎn)是:不用專(zhuān)門(mén)設(shè)置訪(fǎng)問(wèn)端口的指令,用于訪(fǎng)問(wèn)存儲(chǔ)器的指令都可以用于訪(fǎng)問(wèn)端口。缺點(diǎn)是:由于端口占用了存儲(chǔ)器的一部分存儲(chǔ)空間,使得存儲(chǔ)器的實(shí)際存儲(chǔ)空間減少;程序I/O操作不清晰,難以區(qū)分程序中的I/O操作和存儲(chǔ)器操作。在MCS51、MCS96單片機(jī)系統(tǒng)中,多數(shù)采用這種編址方法。 2I/O端口與存儲(chǔ)器獨(dú)立編址為了提高存儲(chǔ)器空間的利用率,將存儲(chǔ)器與I/O端口分為兩個(gè)獨(dú)立的地址空間進(jìn)行編址,并設(shè)置了專(zhuān)用的輸入/輸出指令對(duì)I/O端口進(jìn)行訪(fǎng)問(wèn),如80 x86CPU系統(tǒng)就是采用了這種編址方式。I/O端口可采用8位地址進(jìn)行編址,端口地址范圍為0255(00HFFH),也可以采用16
26、位地址進(jìn)行編址,端口地址范圍為065 535(0000HFFFFH),對(duì)I/O端口的操作使用輸入/輸出指令(IN和OUT)。這種編址方式的優(yōu)點(diǎn)是:不占用內(nèi)存空間;使用I/O指令,程序清晰,很容易區(qū)分是存儲(chǔ)器操作還是I/O操作。缺點(diǎn)是:只能用專(zhuān)門(mén)的I/O指令,訪(fǎng)問(wèn)端口的方法不如訪(fǎng)問(wèn)存儲(chǔ)器的方法多。輸入/輸出的控制方式計(jì)算機(jī)與外設(shè)之間進(jìn)行數(shù)據(jù)傳送有三種基本控制方式:查詢(xún)方式、中斷方式和DMA方式。1查詢(xún)方式查詢(xún)方式是通過(guò)執(zhí)行輸入/輸出查詢(xún)程序來(lái)完成數(shù)據(jù)傳送的,其流程如下圖所示。工作原理是:當(dāng)CPU啟動(dòng)外設(shè)工作后,不斷地讀取外設(shè)的狀態(tài)信息進(jìn)行測(cè)試,查詢(xún)外設(shè)是否準(zhǔn)備就緒,如外設(shè)準(zhǔn)備好,則可以進(jìn)行數(shù)據(jù)傳送;否則,CPU繼續(xù)讀取外設(shè)的狀態(tài)信息進(jìn)行查詢(xún)等待,直到外設(shè)準(zhǔn)備好。 查詢(xún)方式流程圖采用程序查詢(xún)方式進(jìn)行數(shù)據(jù)傳送時(shí),實(shí)際上在外設(shè)準(zhǔn)備就緒之前,C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 集中供暖用電管理辦法
- 海陵區(qū)樓宇管理辦法細(xì)則
- 水產(chǎn)配送及加工管理辦法
- 工業(yè)廢水入管網(wǎng)管理辦法
- 博士服務(wù)團(tuán)工作管理辦法
- 帕金森患者隨訪(fǎng)管理辦法
- 公司經(jīng)營(yíng)權(quán)登記管理辦法
- 江西省兒童用藥管理辦法
- 泰州房地產(chǎn)項(xiàng)目管理辦法
- 重慶企業(yè)登記管理辦法
- DB44-T 2410-2023紅樹(shù)林生態(tài)修復(fù)工程評(píng)價(jià)技術(shù)規(guī)程
- YY/T 1830-2022電動(dòng)氣壓止血儀
- 臨床、口腔醫(yī)師申報(bào)衛(wèi)生高級(jí)職稱(chēng)工作量登記表
- GB/T 10045-2018非合金鋼及細(xì)晶粒鋼藥芯焊絲
- GB 7099-2015食品安全國(guó)家標(biāo)準(zhǔn)糕點(diǎn)、面包
- 2023年納雍縣財(cái)政局系統(tǒng)事業(yè)單位招聘筆試題庫(kù)及答案解析
- 2023年廣東省普通高中學(xué)業(yè)水平考試及參考答案
- 建筑工程模板施工工藝技術(shù)要點(diǎn)講義豐富課件
- 永能選煤廠(chǎng)生產(chǎn)安全事故應(yīng)急救援預(yù)案
- 浙江省建設(shè)領(lǐng)域簡(jiǎn)易勞動(dòng)合同(A4版本)
- 位置度公差以及其計(jì)算
評(píng)論
0/150
提交評(píng)論