復(fù)習(xí)參考版計(jì)算機(jī)原理standard第6章4講_第1頁(yè)
復(fù)習(xí)參考版計(jì)算機(jī)原理standard第6章4講_第2頁(yè)
復(fù)習(xí)參考版計(jì)算機(jī)原理standard第6章4講_第3頁(yè)
復(fù)習(xí)參考版計(jì)算機(jī)原理standard第6章4講_第4頁(yè)
復(fù)習(xí)參考版計(jì)算機(jī)原理standard第6章4講_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本節(jié)概要重點(diǎn)內(nèi)容6.9并行與I/O:RAID盤陣I/O接口芯片使用基本要求第六章外存和I/O專題理解RAID盤陣的基本知識(shí),包括RAID0、RAID1、RAID2、RAID3、RAID4、RAID5和RAID6等掌握I/O接口芯片的使用回顧內(nèi)容上節(jié)回顧6.6I/O設(shè)備與處理器、存儲(chǔ)器和操作系統(tǒng)的接口OS在I/O系統(tǒng)中的職責(zé)程序傳輸方式輪詢方式(程序直接控制/程序查詢方式)程序中斷方式(中斷驅(qū)動(dòng)方式)中斷響應(yīng)的條件和中斷響應(yīng)過程中斷處理過程中斷控制器多重中斷和中斷屏蔽直接存儲(chǔ)器訪問方式(DMA方式)DMA方式的概述DMA控制器的結(jié)構(gòu)DMA的三種控制方式通道傳送方式I/O處理機(jī)方式《ComputerOrganizationandDesign》P6266.15題

《ComputerOrganizationandDesign》第6章第9節(jié)

RAID盤陣的相關(guān)知識(shí)

拓展閱讀作業(yè)并行與I/O:RAID盤陣RAID盤陣的基本思想各種RAID盤陣的特點(diǎn)I/O接口芯片的使用定時(shí)/計(jì)數(shù)器8253中斷控制器8259異步串行通信接口8250異步并行通信接口8255主要內(nèi)容理解程序性能I/O系統(tǒng)的性能,取決于I/O設(shè)備和內(nèi)存之間路徑上的所有要素,包括產(chǎn)生I/O命令的操作系統(tǒng)總線的帶寬、內(nèi)存和I/O設(shè)備決定了I/O的最大傳輸速度延遲時(shí)間是由I/O設(shè)備的延遲時(shí)間和內(nèi)存系統(tǒng)或總線帶來的延遲決定有效帶寬和響應(yīng)時(shí)延還依賴于路徑中可能引起資源競(jìng)爭(zhēng)的其他I/O請(qǐng)求操作系統(tǒng)是一個(gè)瓶頸OS需要花費(fèi)很多時(shí)間才能把I/O請(qǐng)求從用戶程序轉(zhuǎn)交給I/O設(shè)備,從而導(dǎo)致高時(shí)延OS在很大程度上限制了I/O帶寬,原因是操作系統(tǒng)能夠支持的并發(fā)I/O操作數(shù)量是有限的操作系統(tǒng)與磁盤調(diào)度的問題高級(jí)接口(如SCSI)向操作系統(tǒng)提供邏輯塊地址,OS可將這些邏輯塊地址進(jìn)行排序提高性能。因磁盤知道邏輯塊地址和實(shí)際的物理扇區(qū)、柱面等間的映射,可自己進(jìn)行重排序以縮減旋轉(zhuǎn)和尋道的延遲。例:假定工作負(fù)載包含4個(gè)讀: Operation

StartingLBA

Length Read 724

8 Read 100 16

Read 9987 1 Read 26

128

主機(jī)(OS)可能對(duì)它們按照邏輯塊的順序進(jìn)行排序: Operation

StartingLBA

Length Read 26

128 Read 100 16 Read 724 8 Read 9987

1依賴于數(shù)據(jù)在磁盤上的分布情況,重排序可能會(huì)使性能變差。如圖6.19所示,磁盤調(diào)度的讀操作可以在3/4次旋轉(zhuǎn)內(nèi)完成,而操作系統(tǒng)調(diào)度的讀則花去了3次旋轉(zhuǎn)。操作系統(tǒng)與磁盤調(diào)度的問題并行I/O:廉價(jià)磁盤冗余陣列計(jì)算機(jī)系統(tǒng)總體性能的提高很不匹配處理器和主存性能改進(jìn)快輔存性能改進(jìn)慢

例:

假定某基準(zhǔn)程序運(yùn)行時(shí)間為100秒,其中90秒是CPU時(shí)間,剩余的是I/O占用的時(shí)間。若處理器數(shù)目每?jī)赡暝鲩L(zhǎng)一倍,但處理器的速度保持不變,I/O性能保持不變,那么6年后運(yùn)行該程序需要耗費(fèi)多少時(shí)間?解:耗費(fèi)時(shí)間=CPU時(shí)間+I/O時(shí)間,100=90+I/O時(shí)間,I/O時(shí)間=10s下表計(jì)算新的CPU運(yùn)行時(shí)間和整個(gè)程序的運(yùn)行時(shí)間。6年后CPU性能的提高:

90/11=8然而,整個(gè)程序運(yùn)行速度的提高:100/21=4.7所以,I/O時(shí)間占程序運(yùn)行總時(shí)間的比例從10%上升到47%。第n年后CPU時(shí)間I/O時(shí)間耗費(fèi)時(shí)間I/O時(shí)間(%)090s10s100s10%+245s10s55s18%+423s10s33s31%+611s10s21s47%并行I/O:廉價(jià)磁盤冗余陣列RAID的基本思想

將多個(gè)具有獨(dú)立操作的廉價(jià)磁盤按某種方式組織成一個(gè)磁盤陣列(DiskArray),以增加容量,利用類似于主存中的多體交叉技術(shù),將數(shù)據(jù)存儲(chǔ)在多個(gè)盤體上,讓這些盤并行工作來提高數(shù)據(jù)傳輸速度,并采用冗余(redundancy)磁盤技術(shù)來進(jìn)行錯(cuò)誤恢復(fù)(errorcorrection)以提高系統(tǒng)可靠性(reliability)

。上例顯示,不但計(jì)算需要并行,I/O也需要提高性能。很自然的想法是將并行引入I/O設(shè)計(jì)中,否則在處理器和存儲(chǔ)器上所有花費(fèi)的并行努力,會(huì)因?yàn)槌绦蜻M(jìn)行I/O操作時(shí)都被其浪費(fèi)掉所用措施:RAID-RedundantArraysofInexpensiveDisk(廉價(jià)磁盤冗余陣列)廉價(jià)磁盤冗余陣列(RAID)廉價(jià)磁盤冗余陣列(RAID)技術(shù)就是用一個(gè)硬盤控制器控制多個(gè)硬盤的相互連接,把幾個(gè)硬盤的存儲(chǔ)空間整合起來,形成一個(gè)大的單一連續(xù)的存儲(chǔ)空間,使多個(gè)硬盤的讀寫同步,減少錯(cuò)誤,增加效率和可靠度的技術(shù)RAID特性(1)RAID是一組物理盤,操作系統(tǒng)將其視為單個(gè)邏輯盤(2)數(shù)據(jù)分布在不同的物理磁盤上(3)冗余磁盤用于存儲(chǔ)校驗(yàn)信息,保證磁盤損壞時(shí)能有效的恢復(fù)數(shù)據(jù)RAID級(jí)別以4個(gè)數(shù)據(jù)磁盤為例列出每級(jí)RAID所需的額外校驗(yàn)盤及使用各級(jí)RAID的公司:

廉價(jià)磁盤冗余陣列(RAID0)不遵循特性(3),無冗余僅把數(shù)據(jù)分散到多個(gè)磁盤,稱為條帶化,自動(dòng)把訪問分到幾個(gè)磁盤上。在一組磁盤上進(jìn)行條帶化使得這一組磁盤對(duì)于軟件來說是一個(gè)大磁盤,從而簡(jiǎn)化了存儲(chǔ)管理。

(1)連續(xù)分布或大條區(qū)交叉分布時(shí),若兩個(gè)I/O請(qǐng)求訪問不同盤上的數(shù)據(jù),則可并行發(fā)送。減少了I/O排隊(duì)時(shí)間。具有較快的I/O響應(yīng)能力

(2)小條區(qū)交叉分布時(shí),同一個(gè)I/O請(qǐng)求有可能并行傳送其不同的數(shù)據(jù)塊(條區(qū)),因而可獲得較高的數(shù)據(jù)傳輸率適用于容量和速度要求高的非關(guān)鍵數(shù)據(jù)存儲(chǔ)的場(chǎng)合。例如,可用在視頻編輯和播放系統(tǒng)中,以快速傳輸視頻流廉價(jià)磁盤冗余陣列(RAID1)鏡像盤實(shí)現(xiàn)1+1冗余(100%redundancy)(1)一個(gè)讀請(qǐng)求可由其中一個(gè)定位時(shí)間更少的磁盤提供數(shù)據(jù)(2)一個(gè)寫請(qǐng)求所對(duì)應(yīng)的兩個(gè)磁盤并行更新。故寫性能由兩次中較慢的一次寫來決定,即定位時(shí)間更長(zhǎng)的那一次(3)數(shù)據(jù)恢復(fù)簡(jiǎn)單。當(dāng)一個(gè)磁盤損壞時(shí),數(shù)據(jù)仍能從另一個(gè)磁盤中讀取特點(diǎn):可靠性高,但價(jià)格昂貴常用于可靠性要求高的場(chǎng)合,如系統(tǒng)軟件的存儲(chǔ),金融、證券等廉價(jià)磁盤冗余陣列(RAID2)借用主存常用的錯(cuò)誤檢查和恢復(fù)技術(shù):用海明校驗(yàn)生成多個(gè)冗余校驗(yàn)盤,實(shí)現(xiàn)糾正一位錯(cuò)誤、檢測(cè)兩位錯(cuò)誤的功能采用條區(qū)交叉分布方式,且條區(qū)非常小(有時(shí)為一個(gè)字或一個(gè)字節(jié))。這樣可獲得較高的數(shù)據(jù)傳輸率,但I(xiàn)/O響應(yīng)時(shí)間差采用海明碼,雖然冗余盤的個(gè)數(shù)比RAID1少,但校驗(yàn)盤與數(shù)據(jù)盤成正比。所以冗余信息開銷還是太大,價(jià)格也較貴讀操作性能高(多盤并行)寫操作時(shí)要同時(shí)寫數(shù)據(jù)盤和校驗(yàn)盤RAID2已不再使用!廉價(jià)磁盤冗余陣列(RAID3)采用奇偶校驗(yàn)法生成單個(gè)冗余盤與RAID2相同,也采用條區(qū)交叉分布方式,并使用小條區(qū)。這樣,可獲得較高的數(shù)據(jù)傳輸率,但I(xiàn)/O響應(yīng)時(shí)間差用于大數(shù)據(jù)集應(yīng)用的場(chǎng)合,如:圖像處理、CAD系統(tǒng)中某個(gè)磁盤損壞但數(shù)據(jù)仍有效的情況,稱為簡(jiǎn)化模式。此時(shí)損壞的磁盤數(shù)據(jù)可以通過其它磁盤重新生成。數(shù)據(jù)重新生成非常簡(jiǎn)單,這種數(shù)據(jù)恢復(fù)方式同時(shí)適用于RAID3、4、5級(jí)。廉價(jià)磁盤冗余陣列(RAID4)用一個(gè)冗余盤存放相應(yīng)塊(較大的數(shù)據(jù)條區(qū))的奇偶校驗(yàn)位采用獨(dú)立存取技術(shù),每個(gè)磁盤操作獨(dú)立進(jìn)行,所以可同時(shí)響應(yīng)多個(gè)I/O請(qǐng)求。它適合于較小的數(shù)據(jù)訪問,允許并行地發(fā)生多個(gè)獨(dú)立訪問。這就是RAID4-6級(jí)的目的對(duì)于寫操作,校驗(yàn)盤成為I/O瓶頸,每次寫都要對(duì)校驗(yàn)盤進(jìn)行少量寫(只涉及個(gè)別磁盤)時(shí),有“寫損失”,因?yàn)橐淮螌懖僮靼瑑纱巫x和兩次寫大量寫(涉及所有磁盤的數(shù)據(jù)條區(qū))時(shí),則只需直接寫入奇偶校驗(yàn)盤和數(shù)據(jù)盤。因?yàn)槠媾夹r?yàn)位可全部用新數(shù)據(jù)計(jì)算得到。而無須讀原數(shù)據(jù)廉價(jià)磁盤冗余陣列(RAID5)RAID4有效支持了大數(shù)據(jù)量讀、大數(shù)據(jù)量寫、小數(shù)據(jù)量讀、小數(shù)據(jù)量寫的混合操作。缺點(diǎn)是每次寫操作都要更新校驗(yàn)盤,從而校驗(yàn)盤成為連續(xù)寫操作的瓶頸與RAID4組織類似,只是奇偶校驗(yàn)塊分布在各個(gè)磁盤中,所有磁盤地位等價(jià),避免了使用專門校驗(yàn)盤時(shí)潛在的I/O瓶頸與RAID4一樣,采用獨(dú)立存取技術(shù),有較高的I/O響應(yīng)速度小數(shù)據(jù)量的操作可以多個(gè)磁盤并行操作成本不高但效率高,所以被廣泛使用P塊為校驗(yàn)塊,分布在不同的磁盤中RAID3/4/5的數(shù)據(jù)恢復(fù)RAID3/4/5的數(shù)據(jù)恢復(fù)操作

假定考慮一個(gè)有5個(gè)磁盤的陣列,X0到X3保存數(shù)據(jù),p是奇偶校驗(yàn)盤,奇偶校驗(yàn)的第i位計(jì)算公式如下:

P(i)=X3(i)⊕X2(i)⊕X1(i)⊕X0(i)若磁盤X0損壞,上述等式兩邊同時(shí)異或P(i)⊕X0(i),則得到以下等式:X0(i)=P(i)⊕X3(i)⊕X2(i)⊕X1(i)因此,陣列中某一數(shù)據(jù)磁盤的任何一個(gè)數(shù)據(jù)條區(qū)的內(nèi)容都能從剩余磁盤的相應(yīng)條區(qū)中重新生成RAID4的少量寫操作假定考慮一個(gè)有5個(gè)磁盤的陣列,X0到X3保存數(shù)據(jù),P是奇偶校驗(yàn)盤,初始時(shí)對(duì)每位i有下列關(guān)系式:

P(i)=X3(i)⊕X2(i)⊕X1(i)⊕X0(i)寫操作后,可能改變的位數(shù)表示如下:P’(i)=X3(i)⊕X2(i)⊕X1(i)⊕X’0(i)=X3(i)⊕X2(i)⊕X1(i)⊕X’0(i)⊕X0(i)⊕X0(i)化簡(jiǎn)后得到:P’(i)=P(i)⊕X0(i)⊕X’0(i)由此可見,要更新一個(gè)X0(i),必須先讀P(i)和X0(i),然后寫X’0(i)和p’

(i)RAID4的少量寫小數(shù)據(jù)量寫更新的比較小數(shù)據(jù)量寫更新在RAID3和RAID4上的比較左側(cè)直接的RAID3校驗(yàn)計(jì)算在加入塊D0’之前要讀數(shù)據(jù)塊D1、D2和D3才能重新計(jì)算新的校驗(yàn)碼P’右側(cè)RAID4的優(yōu)化方法讀取舊值D0并與新值D0’比較看是否改變。然后讀取舊的校驗(yàn)碼P,修改對(duì)應(yīng)的位,形成P’前者訪問所有磁盤,而后者只訪問兩個(gè)磁盤RAID4/5的塊交叉奇偶校驗(yàn)與分布式塊交叉奇偶校驗(yàn)比較塊交叉奇偶校驗(yàn)與分布式塊交叉奇偶校驗(yàn)數(shù)據(jù)在RAID4和RAID5上的分布RAID5的多個(gè)寫操作可以同時(shí)發(fā)生,只要校驗(yàn)塊不在相同的磁盤上廉價(jià)磁盤冗余陣列(RAID6)冗余信息均勻分布在所有磁盤上,數(shù)據(jù)以塊交叉方式存放基于奇偶校驗(yàn)機(jī)制可使系統(tǒng)免受單個(gè)可自動(dòng)識(shí)別的錯(cuò)誤破壞。當(dāng)多于單個(gè)錯(cuò)誤時(shí),可用奇偶校驗(yàn)對(duì)數(shù)據(jù)和另一個(gè)校驗(yàn)盤信息進(jìn)行二次計(jì)算,可使系統(tǒng)從錯(cuò)誤中恢復(fù)過來。雙維塊交叉奇偶校驗(yàn)獨(dú)立存取盤陣列,允許雙盤出錯(cuò)對(duì)控制器的設(shè)計(jì)變得十分復(fù)雜,寫入速度也比較慢,用于計(jì)算奇偶校驗(yàn)值和驗(yàn)證數(shù)據(jù)正確性所花費(fèi)的時(shí)間比較多RAID6級(jí)以增大開銷的代價(jià)保證高度可靠性P0代表第0條區(qū)的奇偶校驗(yàn)值,而PA代表數(shù)據(jù)塊A的奇偶校驗(yàn)值解:a)系統(tǒng)A:10+10=20(TB)

系統(tǒng)B:10+101/4=12.5(TB)

系統(tǒng)A比B多需要的存儲(chǔ)量:20-12.5=7.5(TB)b)系統(tǒng)A:一個(gè)寫請(qǐng)求所對(duì)應(yīng)的兩個(gè)磁盤都要更新。

最壞情況下,2塊寫:需花費(fèi)60ms。

系統(tǒng)B:大量寫(涉及所有磁盤的數(shù)據(jù)條區(qū))時(shí),則只需直接寫入奇偶校驗(yàn)盤和數(shù)據(jù)盤。因?yàn)槠媾夹r?yàn)位可全部用新數(shù)據(jù)計(jì)算得到,而無須讀原數(shù)據(jù);少量寫(只涉及個(gè)別磁盤)時(shí),有“寫損失”,因?yàn)橐淮螌懖僮靼瑑纱巫x和兩次寫。最壞情況下,需花費(fèi)120ms。c)系統(tǒng)A比系統(tǒng)B可靠,因?yàn)樵谙到y(tǒng)A有5個(gè)數(shù)據(jù)盤和5個(gè)校驗(yàn)盤,系統(tǒng)B有4個(gè)數(shù)據(jù)盤和1個(gè)校驗(yàn)盤。例:RAID舉例廉價(jià)磁盤冗余陣列小結(jié)磁盤訪問時(shí)間:尋道時(shí)間:3~14ms旋轉(zhuǎn)延遲:5.6msat5400RPM、2.0msat15000RPM傳輸時(shí)間:30~80MB/s控制器時(shí)間:<2msRAIDS用來改進(jìn)I/O性能RAID1andRAID5廣泛用于服務(wù)器,估計(jì)80%服務(wù)器磁盤用的是RAIDsRAID0+1(mirroring)–EMC,Tandem,IBMRAID3–StorageConceptsRAID4–NetworkAppliance使用輸入輸出接口與設(shè)備定時(shí)/計(jì)數(shù)器82531.8253的基本原理與功能工作原理作為計(jì)數(shù)器:置計(jì)數(shù)初值,然后依輸入的計(jì)數(shù)脈沖而減“1”,減為0則輸出一個(gè)信號(hào)通知系統(tǒng)作為定時(shí)器:置定時(shí)常數(shù),然后依輸入的固定頻率的節(jié)拍信號(hào)而減“1”直至為“0”;一般具有自動(dòng)的重裝入功能,以便按照定時(shí)常數(shù)不斷輸出定時(shí)間隔定時(shí)所輸入的是標(biāo)準(zhǔn)節(jié)拍信號(hào),而計(jì)數(shù)所輸入的是隨機(jī)信號(hào)主要功能每片8253芯片具有3個(gè)獨(dú)立的16位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器都可以按照二進(jìn)制或二-十進(jìn)制計(jì)數(shù)每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可達(dá)2MHz每個(gè)通道有6種工作方式,可以編程設(shè)置和改變2.邏輯結(jié)構(gòu)內(nèi)部數(shù)據(jù)、控制連接數(shù)據(jù)總線緩沖器讀/寫邏輯控制字寄存器計(jì)數(shù)器通道0計(jì)數(shù)器通道1計(jì)數(shù)器通道2D7~D0RD-WR-A1~A0CS-CLK1GATE1OUT1CLK2GATE2OUT2CLK0GATE0OUT0定時(shí)/計(jì)數(shù)器8253數(shù)據(jù)總線緩沖器讀寫邏輯片選信號(hào)(CS-)4個(gè)I/O端口的地址線(A1~A0)讀/寫控制信號(hào)(RD-/WR-)計(jì)數(shù)器通道三個(gè)相互獨(dú)立的計(jì)數(shù)器通道每個(gè)通道都是一個(gè)16位的可預(yù)置值的減法計(jì)數(shù)器A1A0寄存器選擇00計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211控制字寄存器定時(shí)/計(jì)數(shù)器82533.8253的控制字計(jì)數(shù)器讀/寫格式工作方式數(shù)制D7D6D5D4D3D2D1D000選擇計(jì)數(shù)器001選擇計(jì)數(shù)器110選擇計(jì)數(shù)器211非法選擇00計(jì)數(shù)器鎖存01只讀/寫低有效字節(jié)(低8位)10只讀/寫高有效字節(jié)(高8位)11先寫低有效字節(jié)再寫高有效字節(jié)000方式0001方式1#10方式2#11方式3100方式4101方式50二進(jìn)制1BCD定時(shí)/計(jì)數(shù)器8253計(jì)數(shù)器選擇D7D6兩位指定所作的設(shè)置是針對(duì)哪一個(gè)計(jì)數(shù)器通道讀/寫格式指定處理器向計(jì)數(shù)通道寫入計(jì)數(shù)初值以及讀取當(dāng)前的計(jì)數(shù)值狀態(tài)時(shí)采用何種形式工作方式D3D2D1三位,為計(jì)數(shù)通道選擇一種工作方式數(shù)制二進(jìn)制計(jì)數(shù)的取值范圍為0000H~0FFFFH;而二—十進(jìn)制計(jì)數(shù)的取值范圍則是0000~9999定時(shí)/計(jì)數(shù)器82534.8253的工作方式方式0――計(jì)數(shù)結(jié)束產(chǎn)生中斷GATE信號(hào)可用于禁止計(jì)數(shù)當(dāng)裝入計(jì)數(shù)初值且GATE為高,啟動(dòng)計(jì)數(shù)過程計(jì)數(shù)減至0時(shí),OUT輸出變高寫入新的計(jì)數(shù)值會(huì)立刻重新開始計(jì)數(shù)定時(shí)/計(jì)數(shù)器8253方式1――可編程單穩(wěn)脈沖當(dāng)裝入計(jì)數(shù)初值后,計(jì)數(shù)過程并不啟動(dòng);直到GATE信號(hào)的觸發(fā),計(jì)數(shù)才會(huì)開始當(dāng)計(jì)數(shù)減至“0”時(shí),OUT輸出一個(gè)單拍脈沖重新寫入的計(jì)數(shù)值并不立即生效,而是在下次觸發(fā)啟動(dòng)時(shí),才會(huì)使用新的計(jì)數(shù)初值定時(shí)/計(jì)數(shù)器8253方式2――速率發(fā)生器當(dāng)裝入計(jì)數(shù)初值且GATE為高時(shí),計(jì)數(shù)立即開始可重復(fù)工作:當(dāng)計(jì)數(shù)減至1時(shí),OUT輸出變低;經(jīng)過一個(gè)CLK,OUT重新為高,并重復(fù)計(jì)數(shù)過程計(jì)數(shù)過程中可改變計(jì)數(shù)值,但不影響正在進(jìn)行的計(jì)數(shù)過程,下次重復(fù)時(shí)按新的計(jì)數(shù)值計(jì)數(shù)定時(shí)/計(jì)數(shù)器8253方式3――方波速率發(fā)生器與方式2的區(qū)別在于,方式3輸出的是對(duì)稱(或基本對(duì)稱)的方波其余特點(diǎn)與方式2相同定時(shí)/計(jì)數(shù)器8253方式4――軟件觸發(fā)選通與方式0的區(qū)別在于,輸出(OUT)的是低脈沖為了達(dá)到軟件觸發(fā)的效果(即寫入計(jì)數(shù)值后立即開始計(jì)數(shù)),GATE信號(hào)應(yīng)保持為高定時(shí)/計(jì)數(shù)器8253方式5――硬件觸發(fā)選通類似于方式1區(qū)別:輸出的是低脈沖定時(shí)/計(jì)數(shù)器82535.8253的編程與實(shí)例8253的初始化編程(采用X86指令集) 例:8253端口地址為40H~43H;使用計(jì)數(shù)通道0,工作于方式1,按BCD計(jì)數(shù),計(jì)數(shù)值為2090,則初始化程序?yàn)椋?/p>

MOVAL,33H ;確定控制字為33H OUT43H,AL ;輸出控制字

MOVAL,90 ;先寫計(jì)數(shù)值的低字節(jié)

OUT40H,AL ;輸出計(jì)數(shù)值低字節(jié)

MOVAL,20 ;先寫計(jì)數(shù)值的高字節(jié)

OUT40H,AL ;輸出計(jì)數(shù)值高字節(jié)定時(shí)/計(jì)數(shù)器8253IBMPC/XT系統(tǒng)中的定時(shí)器/計(jì)數(shù)器電路端口地址:40H~43H通道0工作在方式3下,GATE端固定為高電平,計(jì)數(shù)初值為0000H(216);OUT0輸出18.2Hz的方波,通過8259的IRQ0接入中斷控制器,用于產(chǎn)生定時(shí)中斷通道1工作在方式2下,GATE也是接固定高電平,計(jì)數(shù)初值為18;每經(jīng)18個(gè)脈沖(約15us),OUT端輸出一個(gè)脈沖,用于產(chǎn)生存儲(chǔ)器刷新請(qǐng)求信號(hào)通道2工作在方式3下,GATE端受控制;通過不同初值的置入,可以改變輸出方波的頻率,被用于使PC機(jī)的揚(yáng)聲器產(chǎn)生不同音調(diào)的音頻信號(hào)定時(shí)/計(jì)數(shù)器8253微機(jī)系統(tǒng)中的定時(shí)器應(yīng)用編程實(shí)例要求使用微機(jī)系統(tǒng)中的8253作為定時(shí)基準(zhǔn)利用8253定時(shí)結(jié)束產(chǎn)生中斷,觸發(fā)計(jì)時(shí)動(dòng)作而在屏幕上顯示以秒為時(shí)間單位的計(jì)時(shí)信息分析設(shè)置8253的定時(shí)方式與定時(shí)周期完成中斷向量設(shè)置、中斷服務(wù)程序編寫以及其它I/O功能參考代碼省略定時(shí)/計(jì)數(shù)器8253中斷控制器舉例-8259A8259A是可編程的中斷控制器8259A的功能包含中斷請(qǐng)求鎖存、中斷屏蔽、中斷優(yōu)先級(jí)排隊(duì)、中斷向量生成(中斷優(yōu)先權(quán)編碼器)等電路既支持程序查詢式中斷,又支持向量式中斷單片支持8級(jí)優(yōu)先權(quán),通過多片級(jí)聯(lián),最多可構(gòu)成64級(jí)中斷各種中斷功能可通過編程設(shè)定或更改8259A的內(nèi)部結(jié)構(gòu)8259A的端口選擇有4個(gè)ICW寄存器(初始化命令字寄存器)和3個(gè)OCW寄存器(操作命令字寄存器)ICW在每個(gè)工作周期內(nèi)只能一次寫入,而OCW可在工作過程中動(dòng)態(tài)地多次寫入ICW用來設(shè)定8259A的基本工作模式,而OCW可提供多態(tài)調(diào)節(jié)其工作模式的手段僅有一根端口選擇線A0:兩個(gè)I/O端口(0/1口)8259A芯片的級(jí)聯(lián)可屏蔽中斷:可不響應(yīng)或暫不響應(yīng)或有條件響應(yīng)的中斷不可屏蔽中斷:必須立即響應(yīng)、不能回避和禁止的中斷,具有高的優(yōu)先級(jí)8259的編程與實(shí)例8259的初始化編程(采用X86指令集) 例:8259端口地址為20H~21H;ICW1=00010011=13H,ICW2=00001000=08H,ICW4=00001001=09H,則初始化程序?yàn)椋?/p>

MOVAL,13H ;確定ICW1=13H OUT20H,AL ;輸出控制字ICW1

MOVAL,08H ;確定ICW2=08H

OUT21H,AL ;輸出控制字ICW2

MOVAL,09H ;確定ICW4=09H

OUT21H,AL ;輸出控制字ICW4中斷控制器8259異步串行通信接口8250基本通信方式并行通信串行通信:適合遠(yuǎn)距離數(shù)據(jù)傳輸同步、異步1.異步串行通信協(xié)議波特率定義:一秒鐘內(nèi)能傳送的位數(shù)單位:bps(bitpersecond,位/秒)

異步串行通信接口82501.異步串行通信協(xié)議數(shù)據(jù)格式約定一次傳輸?shù)娜啃畔?,即一幀?shù)據(jù),是以什么樣的格式和含義組合在一起的

起始位:標(biāo)識(shí)數(shù)據(jù)幀的開始數(shù)據(jù)位:要傳輸?shù)膶?shí)際數(shù)據(jù)(5-8位),先發(fā)送最低位校驗(yàn)位:提高正確性,通常采用簡(jiǎn)單的奇偶校驗(yàn)停止位:標(biāo)識(shí)數(shù)據(jù)幀的結(jié)束

110101115~8個(gè)數(shù)據(jù)位停止位起始位校驗(yàn)異步串行通信接口82502.RS-232接口提高信號(hào)質(zhì)量、增加傳輸距離,收發(fā)信號(hào)轉(zhuǎn)換與連接器信號(hào)定義數(shù)據(jù)收發(fā)(RXD/TXD)信號(hào)握手(RTS-/CTS-、DTR-/DSR-)通知已檢測(cè)到數(shù)據(jù)載波(DCD-)振鈴(RI-)地線(GND):須在雙方之間連接信號(hào)電特性(負(fù)邏輯)1定義在-3V~-15V之間0定義在+3V~+15V之間DCD-1RXD2TXD3DTR-4GND56DSR-7RTS-8CTS-9RI-異步串行通信接口82503.UART8250實(shí)現(xiàn)相關(guān)傳輸?shù)钠骷Q通用異步收發(fā)器(UART)基本功能:把并行數(shù)據(jù)變?yōu)榇袛?shù)據(jù)發(fā)送給其它設(shè)備;接收串行數(shù)據(jù)并將其轉(zhuǎn)換為并行數(shù)據(jù);檢測(cè)錯(cuò)誤、申請(qǐng)中斷、緩沖數(shù)據(jù)等全雙工、雙緩沖的異步發(fā)送與接收器15種波特率選擇,范圍為50~9600bps字符長(zhǎng)度可選擇為5~8位停止位可選擇1、1.5和2位可產(chǎn)生中止字符(連續(xù)輸出低電平通知對(duì)方中止通信)

可進(jìn)行奇或偶校驗(yàn)可檢測(cè)多種錯(cuò)誤,包括奇偶校驗(yàn)錯(cuò)、溢出和幀錯(cuò)誤具有很強(qiáng)的中斷控制能力異步串行通信接口82503.UART82508250的邏輯結(jié)構(gòu)狀態(tài)寄存器控制寄存器調(diào)制解調(diào)器控制邏輯接收緩沖寄存器接收移位寄存器發(fā)送保持寄存器發(fā)送移位寄存器傳輸線控制寄存器傳輸線狀態(tài)寄存器除數(shù)鎖存器L除數(shù)鎖存器H波特率發(fā)生器識(shí)別寄存器允許寄存器中斷控制邏輯D7~D0A2~A0INTRPTSINSOUT異步串行通信接口8250DLABSBRKSPBEPSPENSTBWLS1WLS0LCR76543210尋址位:0=正常值1=尋址波特率除數(shù)寄存器中止:0=無效1=強(qiáng)迫連續(xù)輸出低電平奇偶校驗(yàn)附加位奇偶校驗(yàn)類型:0=奇校驗(yàn)1=偶校驗(yàn)奇偶校驗(yàn):0=無校驗(yàn)1=有校驗(yàn)停止位數(shù)目:0=1位1=1.5位(若字符長(zhǎng)5位)

2位(若字符長(zhǎng)6~8位)字符長(zhǎng)度:00=5位01=6位10=7位11=8位3.UART8250發(fā)送與接收寄存器傳輸線控制寄存器:用于制定串行通信的格式,可以寫入,也可以被讀出異步串行通信接口82503.UART8250傳輸線狀態(tài)寄存器:反映數(shù)據(jù)發(fā)送和接收時(shí)的狀態(tài),可讀寫0TSRETHREBIFEPEOEDRLSR76543210接收數(shù)據(jù)就緒溢出錯(cuò)奇偶錯(cuò)幀錯(cuò)中止檢測(cè)發(fā)送保持寄存器空發(fā)送移位寄存器空異步串行通信接口82503.UART8250波特率控制:波特率除數(shù)鎖存器H/波特率除數(shù)鎖存器L。除數(shù)=1843200/(16×波特率)調(diào)制解調(diào)器控制:調(diào)制解調(diào)器控制寄存器/調(diào)制解調(diào)器狀態(tài)寄存器。前者用于設(shè)置8250與通信設(shè)備之間聯(lián)絡(luò)應(yīng)答的輸出信號(hào),后者反映了8250與通信設(shè)備之間聯(lián)絡(luò)應(yīng)答的輸入信號(hào)的當(dāng)前狀態(tài)以及它們的變化中斷控制:中斷識(shí)別寄存器IIR/中斷允許寄存器IER。IIR保持著當(dāng)前正在請(qǐng)求中斷的優(yōu)先級(jí)最高的中斷編碼;IER則對(duì)應(yīng)各中斷源,通過編程以設(shè)定是否允許其發(fā)出中斷請(qǐng)求異步串行通信接口82500000EDSSIELSIETBEIERBFIIER765432101=允許接收數(shù)據(jù)就緒中斷1=允許發(fā)送保持寄存器空中斷1=允許接收數(shù)據(jù)錯(cuò)或接收中止?fàn)顟B(tài)中斷1=允許調(diào)制解調(diào)器狀態(tài)中斷00000ID1ID0IPIIR765432100=有中斷1=無中斷00=調(diào)制解調(diào)器狀態(tài)變化(最低優(yōu)先級(jí))01=發(fā)送保持寄存器空(第三優(yōu)先級(jí))10=接收數(shù)據(jù)就緒(第二優(yōu)先級(jí))11=接收數(shù)據(jù)錯(cuò)誤(最高優(yōu)先級(jí))3.UART8250內(nèi)部寄存器尋址:共10個(gè)內(nèi)部寄存器DLABA2A1A0寄存器選擇0000接收緩沖器(讀),發(fā)送保持器(寫)0001中斷允許寄存器×010中斷識(shí)別寄存器×011傳輸線控制寄存器×100調(diào)制解調(diào)器控制寄存器×101傳輸線狀態(tài)寄存器×110調(diào)制解調(diào)器狀態(tài)寄存器×111專用1000除數(shù)鎖存器(低8位)1001除數(shù)鎖存器(高8位)異步串行通信接口82503.UART82508250的初始化編程為確定波特率而設(shè)置除數(shù)鎖存器為確定通信格式而設(shè)置傳輸線控制寄存器若使用中斷,則需要設(shè)置中斷允許寄存器設(shè)置調(diào)制解調(diào)器控制寄存器,一般將該寄存器設(shè)置為03H;如果使用中斷,還需要將該寄存器的位3(對(duì)應(yīng)8250的輸出引腳OUT2)設(shè)置為“1”異步串行通信接口8250;設(shè)置LCR最高位=1;以便尋址除數(shù)鎖存器MOVDX,3FBHMOVAL,80HOUTDX,AL;依據(jù)波特率計(jì)算公式;有1.8432M/(16*9600)=12[0CH];將該值寫入除數(shù)鎖存器MOVDX,3F8HMOVAL,0CHOUTDX,ALMOVDX,3F9HMOVAL,0HOUTDX,AL;設(shè)LCR最高位=0;以尋址其它寄存器;設(shè)置數(shù)據(jù)格式MOVDX,3F8HMOVAL,00001110BOUTDX,AL;允許全部4種中斷MOVDX,3F9HMOVAL,0FHOUTDX,AL異步串行通信接口8250例:按以下要求寫出8250的初始化代碼:波特率為9600,每字符7位,停止位2位,奇校驗(yàn),允許全部中斷。端口地址03F8H~03FFH。4.使用微機(jī)的串行通信接口PC機(jī)串口簡(jiǎn)介COM1端口地址03F8H~03FFH,使用IRQ4中斷COM2端口地址02F8H~02FFH,使用IRQ3中斷編程的方法:匯編語(yǔ)言;使用BIOS提供的功能調(diào)用;使用DOS功能調(diào)用實(shí)際接口芯片16550,與8250保持兼容,收發(fā)性能提高實(shí)例分析參考代碼異步串行通信接口8250通用I/O接口8255A的邏輯結(jié)構(gòu)(1)外設(shè)接口部分三個(gè)I/O端口:A、B和C每個(gè)端口都是8位,都可以選擇作輸入或輸出;端口A的8位數(shù)據(jù)線為PA7~PA0,端口B的8位數(shù)據(jù)線為PB7~PB0,端口C的8位數(shù)據(jù)線為PC7~PC0通常端口A或B作為輸入輸出的數(shù)據(jù)端口,而將端口C作為控制或狀態(tài)信息的端口;端口C在方式字的控制下,可分成兩個(gè)4位的端口,分別與端口A和端口B配合使用并行接口芯片8255A8255A的邏輯結(jié)構(gòu)(2)A組和B組控制邏輯A組控制電路控制端口A和端口C上半部(PC7~PC4)

B組控制電路控制端口B和端口C下半部(PC3~PC0)

(3)CPU接口部分?jǐn)?shù)據(jù)總線緩沖器,以連接系統(tǒng)數(shù)據(jù)總線地址譯碼以及讀寫控制;8255A有兩條地址線,分別為A1和A0并行接口芯片8255AA1A0端口選擇00端口A01端口B10端口C11控制字寄存器8255A的方

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論