




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章計算機輸入/輸出系統(tǒng)1.引言2.輸入/輸出設(shè)備類型3.I/O子系統(tǒng)的控制方式4.總線
5.I/O子系統(tǒng)性能測量
6.總結(jié)
本章要點:介紹輸入/輸出設(shè)備類型、輸入/輸出子系統(tǒng)的控制方法、總線、輸入/輸出子系統(tǒng)性能測量冗余磁盤陣列(RAID)技術(shù)。1.
引言計算機輸入/輸出系統(tǒng)(通稱I/O系統(tǒng)),擔負著計算機與外界交換信息的任務(wù)。早在馮·諾依曼時代就被作為計算機體系結(jié)構(gòu)的一個重要組成部分。然而許多年以來,I/O系統(tǒng)沒有得到足夠的重視,它只是被作為“外圍”設(shè)備看待。計算機體系結(jié)構(gòu)設(shè)計者們重視的是用戶程序運行的CPU時間,而I/O系統(tǒng)在程序執(zhí)行所化的時間無論是多是少,都作為一種額外的開銷而被忽略了。實際上,I/O系統(tǒng)的速度也是重要的。對用戶而言,他們感受的不是單純的CPU時間,而是程序的執(zhí)行時間(executiontime)。I/O系統(tǒng)的速度對整個程序的執(zhí)行時間有重要影響。假設(shè)某計算機CPU處理的時間占總處理時間的90%,而I/O處理時間僅占總處理時間的10%,根據(jù)Amdahl定理,即使CPU的處理速度提高10倍,而I/O系統(tǒng)的速度沒有提高,則程序總的處理速度(執(zhí)行時間的倒數(shù))只能提高:
1/(0.1+0.9/10)=1/(0.1+0.09)=1/0.19≈5倍也就是說,此時有一半的CPU速度提高被浪費了。即使CPU處理速度提高了100倍,在同樣的情況下,總的性能也僅能提高:
1/(0.1+0.1/100)=1/(0.1+0.009)≈10倍可見,I/O系統(tǒng)的速度的重要性。
1.
引言在單進程操作系統(tǒng)中是這樣,同樣在多進程的操作系統(tǒng)中,I/O也同樣重要。在多進程的操作系統(tǒng)中,雖然可以通過合適的進程調(diào)度可使CPU不是空下來等待I/O系統(tǒng)工作的結(jié)束,而是繼續(xù)執(zhí)行其它進程,這樣I/O速度的快慢就無關(guān)輕重了。然而事實并非如此。
首先,這種方法雖能維持整個操作系統(tǒng)中吞吐量不變,提高CPU的利用率,但對于用戶來說,仍然存在沒有解決執(zhí)行時間延長的問題,他仍然必須等待I/O操作結(jié)束;由于進程切換帶來的開銷,他的進程運行時間甚至會更長。
其次,在大多數(shù)桌面操作系統(tǒng)的PC機和工作站上,并沒有很多的進程可以進行這種共享,從而使CPU的空閑成為不可避免。
另外,多進程操作系統(tǒng)中,一般都使用盤交換區(qū)和虛擬內(nèi)存技術(shù)已容納好幾個進程,而這兩項技術(shù)的性能都依賴于I/O系統(tǒng),依賴于外部存儲系統(tǒng)的速度。由此可知,I/O系統(tǒng)在計算機體系結(jié)構(gòu)中的重要性。1.
引言2.
輸入輸出設(shè)備類型
數(shù)據(jù)表示設(shè)備
網(wǎng)絡(luò)通訊設(shè)備
存儲設(shè)備
廉價磁盤冗余陣列輸入/輸出(簡稱I/O)設(shè)備可分為三大類:數(shù)據(jù)表示設(shè)備、網(wǎng)絡(luò)通訊設(shè)備、存儲設(shè)備。這類I/O設(shè)備的主要功能是在計算機處理器和用戶之間傳遞信息。主要包括顯示器、鍵盤等人-機交互設(shè)備,也包括一些用于控制其它電子設(shè)備的信號輸出輸入設(shè)備。這些設(shè)備通常為計算機提供其運行時所需的大部分輸入信息,同時輸出計算機運行的最后結(jié)果,并反饋給用戶。2.1數(shù)據(jù)表示設(shè)備表6-1常見數(shù)據(jù)表I/O設(shè)備及其數(shù)據(jù)庫隨著計算機多媒體技術(shù)的發(fā)展,出現(xiàn)了許多新的數(shù)據(jù)表示方法,這些新的表示技術(shù)包括高速圖形顯示、視頻顯示,聲音輸入/輸出。為了減輕對設(shè)備的壓力,通常采用數(shù)據(jù)壓縮的方法,使數(shù)據(jù)量下降,但也產(chǎn)生了解壓縮的問題。這些新的數(shù)據(jù)表示方法不僅對I/O系統(tǒng)提出了很高的要求,對處理器的速度也提出了新的要求。同時,這些新的技術(shù)也擴展了計算機輸入/輸出設(shè)備的范疇,促進了I/O系統(tǒng)技術(shù)的發(fā)展。表6-2多媒體數(shù)據(jù)表示設(shè)備的參數(shù)一覽表2.1數(shù)據(jù)表示設(shè)備
網(wǎng)絡(luò)通訊設(shè)備的功能是在處理器間傳遞數(shù)據(jù)。網(wǎng)絡(luò)通訊設(shè)備的種類繁多。⑴按連接處理器的距離分,有:
MPP網(wǎng)、局域網(wǎng)、廣域網(wǎng)等;⑵按采用的通訊介質(zhì)分,有:銅線電信號設(shè)備和光纖設(shè)備;⑶按所采用的控制技術(shù)分,有:以太網(wǎng)、ATM網(wǎng)、令牌環(huán)網(wǎng)等。隨著計算機向網(wǎng)絡(luò)化發(fā)展和網(wǎng)絡(luò)并行計算技術(shù)的產(chǎn)生,這類設(shè)備的地位正在變得日益重要。
2.2網(wǎng)絡(luò)通訊設(shè)備
存儲設(shè)備是指外存儲器。它的功能是作為計算機存儲器層次結(jié)構(gòu)的一部分,存儲計算機處理時所需信息。這類設(shè)備由于經(jīng)常與處理器協(xié)同工作而顯得地位格外重要,作為海量的非易失外存設(shè)備,這類I/O設(shè)備一方面擔負存儲計算機后備數(shù)據(jù)的任務(wù),一方面還往往作為虛存或操作系統(tǒng)交換區(qū)的一部分,直接參與計算機的處理。計算機外存儲器一般有磁盤、光盤、磁帶。2.3存儲設(shè)備磁盤分為軟盤和硬盤。磁道(track):磁盤的表面沿直線方向劃分為不同的同心圓。柱面(cylinder):在硬盤機中,磁盤片連在一起,把各面的同一磁道連起來。每條磁道按切線方向劃分為幾十個扇區(qū),扇區(qū)是磁盤存儲信息的最小單位,一般有扇區(qū)號、分隔用的空白區(qū)、扇區(qū)數(shù)據(jù)信息組成。通常,所有的磁道扇區(qū)數(shù)是一樣的,外圈的磁道扇區(qū)密度小,數(shù)據(jù)存放可靠,而內(nèi)圈磁道短,故數(shù)據(jù)容易出差錯。所以,可采用“常位密度”的存儲方式:在外圈長磁道上放更多的扇區(qū),這樣就使整個磁盤上扇區(qū)的密度也就是數(shù)據(jù)的密度一致,增加了可靠性。在對磁道進行數(shù)據(jù)讀寫是,首先磁頭臂要移到指定的位置,這個操作稱為尋道,該操作所需時間稱為尋道時間,尋道時間與磁頭時間有關(guān)。在磁頭移動到指定磁道后,讀寫數(shù)據(jù)還需等待磁盤旋轉(zhuǎn)到指定的扇區(qū),這個操作所需時間稱為旋轉(zhuǎn)時間,大多數(shù)的磁盤旋轉(zhuǎn)時間為3600r/s,平均旋轉(zhuǎn)延遲是指磁盤旋轉(zhuǎn)半圈的時間,為0.5*60/(3600)=8.3(ms)。2.3存儲設(shè)備數(shù)據(jù)傳輸所需時間稱為傳輸時間。磁盤從收到讀盤命令到啟動磁盤臂移動之間的時間稱為控制時間,它包括了等待上一次讀寫磁盤結(jié)束的時間,稱做排隊時間(queuingdelay)。將控制時間、尋道時間、轉(zhuǎn)旋延遲和傳輸時間加起來,才是一次讀寫磁盤所需的總時間——存取時間(accesstime)。在磁盤和計算機之間,有一個叫磁盤控制器(diskcontroller)的部件負責控制磁盤的數(shù)據(jù)傳輸。磁盤發(fā)展追求提高存儲密度,降低成本和提高速度。存儲密度的度量指標是盤片的面密度(areadensity),單位為每平方英寸的位數(shù),于是有面密度=每英寸磁道數(shù)*每英寸道數(shù),其中,每英寸半徑上磁道數(shù)又稱道密度,單位為TPI(trackperinch);每英寸磁道上存儲的位數(shù)又稱位密度,單位為BPI(bitperinch)。磁盤的存取時間比DRAM慢100000倍,從而在現(xiàn)今計算機的主存和次級存儲器間造成了巨大的存取時間缺口。2.3存儲設(shè)備光盤光盤存儲容量大,成本低,存放期限長,存儲密度高。光盤分為只讀型(CD-ROM)、WORM(一次寫多次讀)型和可擦寫型。只讀型用于軟件開發(fā),可擦寫型只能用于數(shù)據(jù)備份,不能作為次級存儲器。磁帶磁帶與磁盤很相似,不同之處是磁盤在一個有限大小的面積上進行讀寫,存取速度快;而磁帶存儲面積是個“無限”的帶,只能串行存取,速度慢,容量大,常作為磁盤的后備介質(zhì)使用。磁帶容易纏斷和斷裂,可采用螺旋掃描帶(helicalscantapes)技術(shù)解決:讓磁帶以一固定速度旋轉(zhuǎn),而沿著磁道的對斜線,用一個轉(zhuǎn)的比磁帶快的多的讀寫頭記錄數(shù)據(jù)。2.3存儲設(shè)備廉價磁盤冗余陣列(RedundantArray
ofInexpensiveDisk)的基本思想是使用多個磁盤存儲數(shù)據(jù),并行的讀寫,提高數(shù)據(jù)傳輸帶寬。為了提高數(shù)據(jù)的可靠性,數(shù)據(jù)是冗余存儲的。具有容量大,數(shù)據(jù)傳輸快,功耗低,體積小,成本低。RAID中的數(shù)據(jù)并行存儲造作對CPU是透明的。多個磁盤驅(qū)動器在邏輯上構(gòu)成一個磁盤,系統(tǒng)的數(shù)據(jù)分布在各磁盤上的操作有磁盤控制器完成。見圖6-2。
在圖6-2中,控制處理器是RAID的控制中心,接收和分析主機操作命令,調(diào)度和管理磁盤陣列數(shù)據(jù)通道,組織和執(zhí)行設(shè)備命令等。控制處理器運行一個控制軟件,執(zhí)行初始化、接口規(guī)范處理、命令序列優(yōu)化處理、地址轉(zhuǎn)換、數(shù)據(jù)通道管理等功能。數(shù)據(jù)通道在控制處理器控制下,實現(xiàn)數(shù)據(jù)的分配與集中、緩沖、奇偶校驗等。控制接口是陣列與主機接口,實現(xiàn)主機和磁盤陣列的通信、數(shù)據(jù)傳送和控制信號的傳遞;設(shè)備接口是直接連磁盤驅(qū)動器的接口。
2.4廉價磁盤冗余陣列(RAID)圖6-2RAID結(jié)構(gòu)圖2.4廉價磁盤冗余陣列(RAID)控制接口控制處理器設(shè)備接口設(shè)備接口數(shù)據(jù)通路設(shè)備接口主機總線表6-3RAID的分級實現(xiàn)的可靠性RAID有幾種實現(xiàn)功能,分成六個級別,分別稱RAID1-RAID6,表6-3列出了非冗余磁盤陣列(RAID0)和各RAID級別的實現(xiàn)特性。2.4廉價磁盤冗余陣列(RAID)
程序控制
I/O處理器3.
I/O子系統(tǒng)的控制方式CPUMI/O圖6-4(a)I/O系統(tǒng)的三種管理方式數(shù)據(jù)3.1程序控制
程序控制
在早期,計算機I/O子系統(tǒng)的控制直接由CPU來完成,如圖6-4(a),由CPU執(zhí)行啟動,測試I/O設(shè)備,進行數(shù)據(jù)傳輸。這種方式不需專門的硬件,簡單的計算機系統(tǒng)都用這種方式。但I/O設(shè)備的工作速度比CPU慢的多,CPU多數(shù)時間是在等待,效率較低。3.1程序控制中斷驅(qū)動的I/O控制在程序控制方式(又稱輪詢方式)中,計算機CPU周期性的進入I/O控制操作處理外設(shè)的I/O事務(wù),而不管該外設(shè)此時是否需要進行I/O處理。而CPU一旦進入I/O控制操作就不能作其它工作,從而大大降低了CPU效率。為此,采用中斷驅(qū)動的I/O控制,如圖6-4(b),只有在I/O設(shè)備需要CPU的控制操作時,才向CPU發(fā)出中斷請求,使其轉(zhuǎn)向為I/O系統(tǒng)服務(wù),而平時CPU可以處理其它工作。中斷處理時CPU與I/O間傳遞數(shù)據(jù)速度還不夠快。CPUMI/O圖6-4(b)I/O系統(tǒng)的三種管理方式數(shù)據(jù)中斷信號中斷方式不僅提高了CPU的效率,而且使CPU可同時控制多個I/O設(shè)備,但中斷方式仍然需要CPU的干預(yù),并且中斷方式是作為程序控制方式的“改進”出現(xiàn)的,但如果I/O設(shè)備的速度足夠快,采用中斷方式時I/O設(shè)備就會不停地向CPU發(fā)出中斷,此時,中斷引起的保存現(xiàn)場等開銷就會很嚴重,反而不如有程序控制CPU輪詢操作好,因此,采用中斷還是程序輪詢方式控制CPU與I/O設(shè)備的速度有關(guān)。3.1程序控制CPUMDMA控制器I/O直接存儲器訪問”(directmemoryaccess,DMA)
中斷方式和程序方式必須借助CPU完成I/O設(shè)備的控制方式。為了減輕CPU的負擔,采用一個名為“直接存儲器訪問”的部件協(xié)助CPU進行數(shù)據(jù)傳輸方面的操作,如圖6-4(c)。在CPU完成必要的I/O控制之后,不是由CPU來傳遞I/O數(shù)據(jù),而由DMA根據(jù)CPU傳遞的參數(shù)(起始地址、長度等),直接在I/O設(shè)備與存儲器之間快速傳遞大量數(shù)據(jù),傳完之后再通過中段通知CPU。圖6-4(c)I/O系統(tǒng)的三種管理方式3.1程序控制DMA管理的I/O系統(tǒng)的主要問題是在傳送時仍占用總線,會與CPU產(chǎn)生爭用,此外仍需CPU完成一些控制工作。為此,使用一個叫I/O處理器(I/Oprocessor)或稱I/O通道(I/Ochannel)的設(shè)備來代替CPU來控制I/O設(shè)備。這樣的I/O子系統(tǒng)有更強的功能,它執(zhí)行自己的程序,除了完成數(shù)據(jù)傳送外還可以進行數(shù)據(jù)的變換、裝配校驗等工作,使CPU進一步擺脫輸入輸出操作的負擔。I/O通道管理I/O總線,這是將I/O設(shè)備與I/O處理器連起來的總線,而計算機內(nèi)部總線則是另一條在一個總線控制器控制下的高速同步總線。當I/O處理器要傳數(shù)據(jù)到內(nèi)存時,它的總線控制器發(fā)送使用內(nèi)部總線請求,由其統(tǒng)一安排對計算機內(nèi)部總線的使用。I/O處理器一般就是一個通用處理器,與計算機的通用處理器CPU協(xié)同工作,但也可以是專門為I/O設(shè)備設(shè)計的專用處理器。有時,把多進程操作系統(tǒng)里的I/O管理進程也成為軟件意義上的I/O處理器。為適應(yīng)兼容性方面的要求,這樣的軟件處理器通常分為幾個層次如用戶界面層、設(shè)備無關(guān)層、設(shè)備驅(qū)動器中斷處理等。3.2I/O處理器PMI/O通道I/OI/O總線主控控制I/O總線圖6-5I/O通道結(jié)構(gòu)圖在這里我們看一下硬件通道的情況,圖6-5是典型的具有通道的計算機系統(tǒng)結(jié)構(gòu)圖,這種結(jié)構(gòu)圖正如我們前面所講的有兩種總線:存儲總線(內(nèi)部總線)和通道總線(I/O總線)。一條通道總線可以連幾個設(shè)備控制器,一個設(shè)備控制器也可一連幾個設(shè)備。從邏輯結(jié)構(gòu)講,有了I/O通道后,I/O設(shè)備連接可以分為四層:
CPU—通道處理器—設(shè)備控制器—設(shè)備3.2I/O處理器
對于同一系列的機器,通道與設(shè)備控制器間有統(tǒng)一標準接口,設(shè)備控制器與具體設(shè)備間有專用接口,大中型計算機系統(tǒng)一般都接有多個通道,對不同類型的I/O設(shè)備可進行分類管理。存儲管理部件(對應(yīng)圖6-5中的總線適配器)是存儲總線的控制部件,它的主要任務(wù)是根據(jù)事先確定的優(yōu)先次序(由硬件設(shè)定或軟件決定)決定下個周期由哪個部件使用存儲總線。由于大多數(shù)I/O設(shè)備讀寫信號有實時性,不及時處理將丟失數(shù)據(jù),所以通道的優(yōu)先權(quán)較高,而高速設(shè)備通道的優(yōu)先權(quán)高于一般設(shè)備的通道優(yōu)先權(quán)。
通道的基本功能是執(zhí)行通道命令,組織外圍設(shè)備和內(nèi)存進行數(shù)據(jù)傳輸,按I/O指令要求啟動I/O設(shè)備,向CPU報告中斷等,具體是:接收CPU的I/O指令,按指令要求與指定的I/O設(shè)備進行通訊。從內(nèi)存選取屬于通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備發(fā)送各種命令,組織外圍設(shè)備和內(nèi)存進行數(shù)據(jù)傳遞并根據(jù)需要給數(shù)據(jù)提供中間緩存的空間,以及提供數(shù)據(jù)存入內(nèi)存的地址和傳送的數(shù)據(jù)量,并從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存指定單元供CPU使用,將外圍設(shè)備的中斷請求和通道本身的中斷請求按次序報告給CPU。3.2I/O處理器CPU對通道的管理通過I/O指令和處理來自通道的中斷來實現(xiàn)。一般把CPU運行操作系統(tǒng)的核心,管理程序的狀態(tài)稱管態(tài),而把CPU執(zhí)行目標程序的狀態(tài)稱目態(tài)。一般多用戶操作系統(tǒng)只允許在管態(tài)下對通道進行操作,以使I/O資源能為各用戶共享,并保證操作系統(tǒng)安全。通道通過指令使用設(shè)備控制器進行數(shù)據(jù)傳送操作,并以通道狀態(tài)字(channelstateword,CSW)接收設(shè)備狀態(tài)器反映的I/O設(shè)備狀態(tài),因此設(shè)備控制器是通道對I/O設(shè)備實現(xiàn)傳輸控制的執(zhí)行機構(gòu)。它的任務(wù)是接收通道指令,控制I/O設(shè)備完成要求的操作,向通道反映I/O設(shè)備的狀態(tài);將各種I/O設(shè)備的不同信號轉(zhuǎn)為通道能識別的標準信號等。根據(jù)通道工作的方式,通道分為選擇通道,數(shù)組多路通道,字節(jié)多路通道和通道適配器四種。3.2I/O處理器選擇通道又稱高速通道,它的特點是可連接多個設(shè)備,但這些設(shè)備不能同時工作,選擇通道一次只能選擇一個設(shè)備進行工作,這種通道主要連接高速設(shè)備,如磁盤、磁帶等,信息以成組方式高速傳輸。數(shù)組多路通道:在設(shè)備進行數(shù)據(jù)傳送時設(shè)備只為該設(shè)備服務(wù);當設(shè)備進行尋址等控制性機械動作時,通道暫時斷開與該設(shè)備的連接,為其它設(shè)備去服務(wù)。它既保留了選擇通道高速傳輸數(shù)據(jù)的特點,有充分利用了機械輔助操作的時間間隔為其它設(shè)備服務(wù),使通道的效率充分得到發(fā)揮,在實際系統(tǒng)中得到較多應(yīng)用。
字節(jié)多路通道用于連接低速設(shè)備,如紙帶輸入機、打印機等,這些低速設(shè)備的傳輸速率低,例如紙帶輸入機的數(shù)據(jù)傳輸率是1000字節(jié)/s,字節(jié)間的傳輸間隔是1ms,而通道從設(shè)備接收或者發(fā)送一個字節(jié)只有不到1ms,因此通道在字節(jié)間有很多空閑時間,字節(jié)多路通道可以用這段空閑時間為其它設(shè)備服務(wù)。3.2I/O處理器字節(jié)多路通和數(shù)組多路通道都是分時復(fù)用通道。在一段時間內(nèi)能交替執(zhí)行多個設(shè)備的通道程序,使這些設(shè)備同時工作。但它們的不同之處:第一,數(shù)組多路通道雖然允許多個設(shè)備同時工作,但只允許一個設(shè)備進行傳輸型操作,而其它設(shè)備只能進行控制型操作;字節(jié)多路通道不僅允許多個設(shè)備同時工作,而且允許它們同時傳輸數(shù)據(jù)。其二,數(shù)組多路通道與設(shè)備間的數(shù)據(jù)傳送的基本單位是數(shù)據(jù)塊,而字節(jié)多路通道與設(shè)備間的數(shù)據(jù)傳送的基本單位是字節(jié),通道為一個設(shè)備傳送一個字節(jié)以后,又可以為另一個設(shè)備傳送一個字節(jié),因此各設(shè)備與通道間的數(shù)據(jù)傳送以字節(jié)為單位交替進行。在某些系統(tǒng)中,除配置上述三類型的通道外,還配置通道適配器,這是一種將通道與某些設(shè)備控制器結(jié)合在一起的專用性質(zhì)的通道,它與某些特定類型設(shè)備連接,它的邏輯設(shè)計是針對專用設(shè)備的,適配器與設(shè)備間有專用接口線。3.2I/O處理器4.總線
總線分類與選擇
總線標準總線(bus)是計算機各部分之間聯(lián)系通訊的紐帶,它把計算機各子系統(tǒng)連接在一起,總線可以容易地接納計算機的新部件,并且成本較低。總線的主要問題是它有通訊瓶頸,當幾個部件爭用時,總線會使計算機子系統(tǒng)的性能下降,所以,總線的設(shè)計是很重要的。4.1總線分類與選擇總線的分類總線可以有幾種分類方式,按允許的數(shù)據(jù)傳送方向分:單向傳輸總線和雙向傳輸總線。雙向傳輸總線又可以分為半雙工和全雙工的。按用途分:專用總線和共享總線。按數(shù)據(jù)線的寬度分:8位、16位、32位和64位總線等。傳統(tǒng)上最常見的分類:存儲器總線和I/O總線。與存儲器總線相比,I/O總線相對更長,可連接更多設(shè)備,適應(yīng)更多的數(shù)據(jù)寬度,通常還有一定的標準。而存儲器總線所連接的設(shè)備一般在設(shè)計時確定,可以進行專用的優(yōu)化設(shè)計。總線傳輸周期一個總線周期可分為兩個階段:地址傳送階段和數(shù)據(jù)傳送階段。總線傳輸一般可分為兩種類型:“讀”操作,這時數(shù)據(jù)從內(nèi)存流向I/O設(shè)備或CPU;“寫”操作,這時數(shù)據(jù)從CPU及I/O設(shè)備流向內(nèi)存
。在“讀”操作時,I/O設(shè)備或CPU先送出地址信號和控制信號,內(nèi)存根據(jù)這些相應(yīng)的數(shù)據(jù)送到總線;
“寫”操作類似,只是CPU或I/O外設(shè)必須在送出地址、控制信號的同時把數(shù)據(jù)送出。為了解決總線上各設(shè)備(CPU,內(nèi)存與I/O設(shè)備)的速率匹配,一般還得引入一個“等待”信號。總線傳輸周期示意圖詳見圖6-6。4.1總線分類與選擇時鐘地址數(shù)據(jù)讀信號等待信號圖6-6典型的總線讀周期圖示4.1總線分類與選擇4.1總線分類與選擇總線存在的問題總線仲裁:對于復(fù)雜的一些總線,可能有幾個總線主設(shè)備存在,它們都可以啟動總線操作。由于同一時間只能有一個主設(shè)備使用總線,就產(chǎn)生了總線仲裁問題。為了實現(xiàn)仲裁,可以用集中式控制(仲裁部件是一個專門部件)或者分布式控制(各總線設(shè)備自行控制決定使用總線)的方法,一般都有一個固定的優(yōu)先級順序,保證總線使用的公平和高效率。總線傳輸方式:一般有兩種方法,單數(shù)據(jù)傳遞和塊傳遞。在單數(shù)據(jù)傳遞技術(shù)中,一個總線主設(shè)備向總線仲裁器發(fā)一個請求,然后在整個傳輸操作期間獨占總線。塊傳遞又稱作連接/解除連接技術(shù)或流水線總線或分組交換總線。圖6-7是采用分離操作技術(shù)后總線操作示意圖。同步問題:即總線信號和總線時鐘的關(guān)系。有三種方式:同步、半同步和異步。同步總線表示各信號必須按一個固定的時刻發(fā)出,異步總線表示信號的發(fā)出時刻是任意的,半同步是以上兩種方式的混合,它的信號必須和時鐘有一定的關(guān)系。三種方式各有優(yōu)劣。地址數(shù)據(jù)等待采用分離傳輸技術(shù),讀操作被分為一個輸出地址的讀請求操作和一個傳遞數(shù)據(jù)的存儲器應(yīng)答操作,這些操作都加上標識,以便通訊雙方能知道誰是誰,當內(nèi)存正在執(zhí)行前一個讀操作時,總線上就能為下一個讀操作準備好地址,從而使得數(shù)據(jù)讀出與地址輸入能交叉進行,提高了總線帶寬。但與簡單的單數(shù)據(jù)讀出比較,分離操作總線的時延較大。4.1總線分類與選擇圖6-7分離操作總線的操作周期示意圖4.1總線分類與選擇
同步方式,數(shù)據(jù)的傳輸在一個共同的時鐘控制下進行,總線的操作有固定的時序,設(shè)備不需判斷下一步應(yīng)采取什么動作,實現(xiàn)簡單,成本低,速度也較快。主要有兩個缺點:一是所有的設(shè)備只能按一個速度工作,即所有設(shè)備都按最慢設(shè)備速度工作;二是同步總線長度受到限制,太長容易發(fā)生時鐘變形。
異步方式下,總線操作時序不是固定的,每個操作步驟由一個信號來標識,根據(jù)控制信號間的時序關(guān)系,異步方式又可以分為互鎖的和非互鎖的。互鎖方式采用握手協(xié)議來協(xié)調(diào)動作。缺點是控制比較復(fù)雜,對噪聲較敏感。異步方式可以連接更多種類的設(shè)備,可使用任意長度總線而無時鐘變形或同步問題。它在每次傳輸前都要有控制信號,增加了開銷,所以選擇同步方式還是異步方式的關(guān)鍵就在于:連接距離、設(shè)備數(shù)和所需帶寬。
半同步方式是上述兩種方式的折衷方案。系統(tǒng)也有一個集中的時鐘,控制信號的出現(xiàn)受時鐘信號的支配,各信號間的間隔是時鐘周期的整數(shù)倍,相當于在同步總線中增加了等待協(xié)議,從而避免了同步總線中在操作速度不確定時的性能下降。半同步方式實際上是將時間量規(guī)范化的異步方式,也是實際常用的一種異步方式,且半同步方式具有同步方式受信號噪音影響小的優(yōu)點。長時鐘變形短同步方式更好異步方式更好相近I/O設(shè)備速度相差大圖6-9異步和同步方式比較4.1總線分類與選擇
4.2總線標準I/O系統(tǒng)中,I/O設(shè)備的數(shù)量和種類是不斷變化的,為了適應(yīng)這種變化,I/O設(shè)備接口和總線設(shè)計者必須遵循一定的標準進行總線和I/O設(shè)備接口設(shè)計。標準是一些指導(dǎo)互聯(lián)的規(guī)范,可以讓兩方面的設(shè)計者分別工作,而又能設(shè)計出互相兼容的裝置。4.2總線標準總線標準形成的三種途徑:1.由某些計算機廠家首先提出,隨后逐漸被其它計算機廠商使用而形成的所謂事實標準的(factostandards),如IBMPC-AT總線、DEC、PDP-11Unibus和Qbus等。2.如果總線足夠成功,由總線專利創(chuàng)始人提出建議,將其總線規(guī)范由專家給予技術(shù)評價和修改,進而被標準化組織如CNSI或IEEE采用而納入國家或國際標準,如Intel的Multibus5100總線。3.由專家小組在標準化組織的主持下從事開發(fā)和制定總線標準的工作,標準以一種自上而下的方式普及,如FutmeBus,F(xiàn)ootBus及著名的PCI等。4.2總線標準EISA總線
EISA總線是在IBM-PC上的ISA總線基礎(chǔ)上發(fā)展起來的32位總線(時鐘頻率33MHz)。ISA總線也稱AT總線,是IBM為PC/XT設(shè)計的總線標準,原先寬度16位,時鐘頻率8.33MHz。EISA在ISA的基礎(chǔ)上擴展了DMA通道、多處理器方式的裁決、共享中斷和配置管理功能。增加了塊DMA方式,允許8個DMA控制器按指定優(yōu)先級占用DMA設(shè)備,從而可允許多用戶操作。EISA還提供了中斷共享功能,允許用戶配置各個設(shè)備共享一個中斷。4.2總線標準SCSI
總線
SCSI(smallcomputersysteminterface小型計算機接口)是一種來源于數(shù)組多種通道的I/O總線,它最初是用于大中型計算機系統(tǒng)的,后來才一直到小型微型計算機系統(tǒng)上。
SCSI是磁盤存儲設(shè)備的接口,具有靈活性、設(shè)備獨立性等特點,在磁帶設(shè)備、打印設(shè)備、光盤設(shè)備等I/O設(shè)備接口中得到普遍應(yīng)用,并發(fā)展到許多新的I/O設(shè)備和計算機網(wǎng)絡(luò)、計算機工業(yè)控制等領(lǐng)域。采用SCSI總線,主機通過適配器以SCSI總線連接。SCSI可連接多個適配器和多個外設(shè)控制器,每個外設(shè)控制器可控制一個或多個外設(shè),控制器與外設(shè)之間的通訊接口是設(shè)備級的局部輸入輸出接口(圖6-10)。4.2總線標準主機1SCSI
總線適配器主機2外設(shè)控制器外設(shè)控制器外設(shè)控制器外設(shè)1外設(shè)2外設(shè)3外設(shè)i外設(shè)j
外設(shè)n適配器圖6-10SCSI系統(tǒng)結(jié)構(gòu)SCSI
總線SCSI總線可以連接多種設(shè)備級局部輸入輸出接口,具備與設(shè)備無關(guān)的高級命令系統(tǒng),SCSI通過一種分層管理來實現(xiàn)這種獨立與具體外設(shè)的特性(圖6-11)。SCSI總線有異步和同步數(shù)據(jù)傳輸方式,SCSI-1的8位數(shù)據(jù)線可使通常使用的異部傳輸方式能實現(xiàn)最大1.5MB/s的傳輸速率,在同步方式下的傳輸速率可達4MB/s。SCSI設(shè)備之間通常采用消息系統(tǒng),“消息”是主設(shè)備和從設(shè)備見的“會話語言”,SCSI將每個設(shè)備都賦一個標示號,從0~7共8個,標識號大的設(shè)備享有高的優(yōu)先權(quán),并采用菊花鏈方式互連。4.2總線標準主機適配器控制器外設(shè)(系統(tǒng)總線)MultiBus-I,IIVMEBusSTDBusIBM-PCBus(I/O總線)SCSIIPI-3QIC-2(設(shè)備級總線)ST506/412ESDISMDIPI-2QIC-36圖6-11SCSI系統(tǒng)層次圖4.2總線標準4.2總線標準PCI
總線PCI(peripheralcomponentinterconnect,外圍部件互連總線)是1992年以Inter公司為首的一個聯(lián)合體設(shè)計的總線,這是一種同步I/O總線,數(shù)據(jù)線32位,可擴充到64位,傳送最高速度為133M/s,適于圖形顯示等要求高速數(shù)據(jù)傳輸?shù)膽?yīng)用場合。該總線支持自動配置,不需設(shè)置開關(guān)及跳線,有即插即用(plus&play)特性。4.2總線標準在PCI總線系統(tǒng)中,總線分為外部總線,PCI總線和I/O總線三層次。在PCI總線上可連接顯示器、存儲器和網(wǎng)格控制器等,PCI總線通過PCI橋與計算機存儲總線相連接,因此擴展能力很強,可支持需要對主存或相互之間進行快速訪問的多種適配器,并允許CPU以全速訪問。在PCI總線中,將主設(shè)備和從設(shè)備統(tǒng)稱中介(Agents),所有總線上的數(shù)據(jù)傳輸都采用突發(fā)方式傳輸(或稱高速傳輸)。突發(fā)的長度可以任意,由主從設(shè)備自行商定。每次突發(fā)方式的傳送由以下兩個階段組成:1.地址階段,輸出地址和傳輸類型。2.數(shù)據(jù)階段,如果從設(shè)備和當前主設(shè)備都能進行零等待傳輸,則進入數(shù)據(jù)階段在每個后續(xù)的數(shù)據(jù)階段都將傳輸一個數(shù)據(jù)(32/64位)。于是一個PCI總線操作就由一個地址階段和其后的一個或幾個數(shù)據(jù)階段組成,一個地址階段的持續(xù)期是一個PCI時鐘信號周期,數(shù)據(jù)階段的數(shù)量則取決與突發(fā)傳輸中的數(shù)據(jù)傳輸量,每個數(shù)據(jù)階段傳輸一個數(shù)據(jù),一個數(shù)據(jù)階段至少由一個時鐘周期組成,在一個數(shù)據(jù)階段中可插入等待狀態(tài)。在地址階段中,主設(shè)備制定了從設(shè)備和傳輸操作類型,這些信息分別通過發(fā)放PCI地址碼和命令類型字來表示。各設(shè)備在收到這些信息后,先判斷自身是否是被呼叫的從設(shè)備,如果是,對命令進行譯碼,并發(fā)出一個PCI信號作為對該操作的應(yīng)答,然后開始數(shù)據(jù)階段,如果主設(shè)備收不到這樣一個信號,在過了一個預(yù)定時間后就終止操作。4.2總線標準在數(shù)據(jù)階段中,主設(shè)備和從設(shè)備間相互傳遞數(shù)據(jù),數(shù)據(jù)階段長度由“命令/字節(jié)”使總線信號決定,這些信號由主設(shè)備在數(shù)據(jù)階段發(fā)出并使之有效(即所謂激活),PCI總線為主設(shè)備和從設(shè)備都定義了表示就緒的信號線,如果未就緒,還能在該數(shù)據(jù)階段擴展一個時鐘周期,主設(shè)備通過一個成幀信號——FRAME來標識整個突發(fā)方式傳輸?shù)某掷m(xù)期。這個PCI信號在地址階段開始時發(fā)出,保持有效到最后一個數(shù)據(jù)階段,當它復(fù)位后,就表示突發(fā)傳輸?shù)淖詈笠淮螖?shù)據(jù)傳輸正在進行之中,緊接著驅(qū)動就緒信號表示以準備好最后一次數(shù)據(jù)傳輸,當最后一次數(shù)據(jù)傳輸完成后,主設(shè)備通過取消就緒信號使PCI總線恢復(fù)空閑。4.2總線標準4.2總線標準
PCI總線信號線由地址和數(shù)據(jù)線、接口控制線、仲裁線、系統(tǒng)線,還有中斷請求線、邊界掃描線信號、高速緩存支持、出錯報告、接口控制等可選信號線組成。系統(tǒng)信號是時鐘信號CLK和復(fù)位線RST,CLK信號是總線上所有設(shè)備的一個輸入信號,為系統(tǒng)提供定時,RST信號使其它信號線處于三態(tài)。4.2總線標準IPI總線
IPI(intelligentperipheralinterface智能外圍接口)是一種智能化的I/O接口總線,它的層次結(jié)構(gòu)使得它的智能化程序可以按需要選擇。根據(jù)現(xiàn)有ANSI協(xié)議,它被定義成4層,但實際上還可擴充,其層次結(jié)構(gòu)如圖6-12。IPI有三個特點:一是具有高級命令結(jié)構(gòu),一個主機可以配置最多8個外設(shè),按需要可以選擇0~3級不同的智能。二是傳輸速率高,它是一種并行接口,數(shù)據(jù)總線寬度為16位,定義最高傳輸速率達10MB/s,總線寬度和數(shù)據(jù)速度還在不斷的提高。三是有設(shè)備獨立性,可以同時控制多種輸入輸出設(shè)備,而且設(shè)備的更新不用更換硬件結(jié)構(gòu)和系統(tǒng)軟件。圖6-12IPI層次圖4.2總線標準4.2總線標準
IPI體系結(jié)構(gòu)可以分為三級:主級-從級-設(shè)備級,其關(guān)系是主級控制著從級,從級按主級的要求用邏輯地址和設(shè)備命令來管理設(shè)備。在IPI體系結(jié)構(gòu)中,主機是主級,IPI子系統(tǒng)是從級,在IPI子系統(tǒng)內(nèi)部,IPI的從級還可以再用IPI構(gòu)成多級IPI結(jié)構(gòu),IPI采用6根控制信號線和兩組9位數(shù)據(jù)線,控制信號線中5根用于主級到從級的命令,可表示25~32種總線狀態(tài),一根用于從級到主級的響應(yīng)。兩組數(shù)據(jù)線分別叫A總線和B總線,各由8位數(shù)據(jù)加1位奇偶校驗組成,它們有兩種工作方式:半雙工、全雙工。半雙工工作方式中A總線傳送主級到從級的控制信息,B總線進行從級到主級的傳送,全雙工工作方式中A,B兩總線共同并行進行16位數(shù)據(jù)傳輸,傳送的具體方向有控制信號決定。表6-3一些I/O總線性能一覽表4.2總線標準5.
I/O子系統(tǒng)性能測量
引言
I/O性能預(yù)測
I/O系統(tǒng)性能測量I/O的性能和CPU的性能是不一樣的,這主要有兩個原因:一是I/O設(shè)備的多樣性,有許多相互間完全不同的I/O設(shè)備;二是數(shù)量的不確定性,一臺計算機可以同時連接多個I/O設(shè)備。5.1引言I/O性能的兩種測量方法:⑴用CPU性能標志響應(yīng)時間(responsetime,也稱時延(latency))和吞吐量(throughput,也稱I/O帶寬(I/Oband-width))來測量。⑵I/O處理使用CPU的時間,進行I/O控制和傳輸都要占用CPU時間,處理I/O中斷也要占用CPU時間,從而將影響CPU處理其它事物。生產(chǎn)者服務(wù)者圖6-13生產(chǎn)者—服務(wù)者模型隊列I/O系統(tǒng)可看作為一個生產(chǎn)—服務(wù)模型,如圖6-13所示。生產(chǎn)者產(chǎn)生待處理的任務(wù)放入任務(wù)隊列中,而服務(wù)器從任務(wù)隊列中取出任務(wù)并處理之。但在I/O系統(tǒng)中,這兩個性能指標對系統(tǒng)的要求是很不一致的,響應(yīng)時間是任務(wù)放入任務(wù)隊列到服務(wù)器完成處理的時間,所以任務(wù)隊列越短,任務(wù)在任務(wù)隊列中停留時間就越短,相應(yīng)地響應(yīng)時間也越短。而吞吐量是單位時間內(nèi)服務(wù)者所處理的平均任務(wù)數(shù),故而要求任務(wù)隊列盡量不能空。顯然這兩個要求是互相矛盾的。5.1引言圖6-14時間與吞吐量的關(guān)系圖5.1引言占總吞吐量的百分比響應(yīng)時間(ms)圖6-14畫出了響應(yīng)時間與吞吐量之間的關(guān)系。從圖中可以看到,響應(yīng)時間短一點,對吞吐量的影響就很大,故而同時提高兩個指標是很困難的一件事。圖6-15人機交互情況下一個系統(tǒng)運行情況分析051015時間(s)輸入時間系統(tǒng)響應(yīng)時間思考時間圖形負載,系統(tǒng)響應(yīng)時間1.0秒傳統(tǒng)交互負載,系統(tǒng)響應(yīng)時間1.0秒5.1引言由圖6-15中可以看出,減少系統(tǒng)響應(yīng)時間不僅減少了作業(yè)時間中的系統(tǒng)響應(yīng)時間部分,同時將提高系統(tǒng)的產(chǎn)出量,將系統(tǒng)時間減少9.7s后,傳統(tǒng)交互負載的作業(yè)時間下降了4.9s,即下降了34%,圖形處理的作業(yè)時間下降了2s,下降10%,這樣的結(jié)果是由人的一個特點引起的:人在響應(yīng)快時,本身的思考也快。5.1引言無論怎樣解釋這種現(xiàn)象,系統(tǒng)響應(yīng)時間對產(chǎn)出量的影響很大是一個事實。實際上,當計算機系統(tǒng)響應(yīng)時間降至1s以下時,產(chǎn)出量呈現(xiàn)非線性的飛速增長,圖6-16比較了新手、一般工程人員和計算機專業(yè)人員在圖形顯示器上進行物理設(shè)計時的產(chǎn)出量隨系統(tǒng)響應(yīng)時間的變化曲線。在圖中可以看到,在響應(yīng)速度快的系統(tǒng)上工作的初學者和一般工程人員的產(chǎn)出量比在響應(yīng)時間慢的系統(tǒng)上工作的專家的產(chǎn)出量要高,隨著響應(yīng)時間的縮短,所有人的產(chǎn)出量都會大幅提高,所以響應(yīng)時間的縮短,在與吞吐量的比較中應(yīng)占有更重要的地位,畢竟人是計算機的主宰。人的特性更為重要。圖6-16新手、一般工程人員和計算機專業(yè)人員在圖形顯示器上進行物理設(shè)計時的產(chǎn)出量隨系統(tǒng)響應(yīng)時間的變化曲線05001000150020002500300035004000450050000.260.310.370.50.7711.5系統(tǒng)響應(yīng)時間(秒)用戶工作效率(每小時完成的操作)新手工程師專家5.1引言5.2I/O性能預(yù)測這一節(jié)中,我們將討論如何從理論上預(yù)測和計算I/O的性能,在設(shè)計I/O系統(tǒng)時,I/O系統(tǒng)的系統(tǒng)是無法用測量得到的,于是理論預(yù)測就成為設(shè)計I/O系統(tǒng)時的一個重要步驟。我們先從一個黑箱模型開始,在這個模型中,一個I/O系統(tǒng)被看作是一個黑箱,如圖6-17所示,CPU向這個黑箱發(fā)出I/O任務(wù)請求,由黑箱處理后,任務(wù)再離開黑箱。圖6-17I/O系統(tǒng)的黑箱模型離開到來5.2I/O性能預(yù)測這里我們只研究系統(tǒng)的穩(wěn)定狀態(tài),即系統(tǒng)運行足夠長的時間后,達到一種狀態(tài),此時的到達速率和離去速率應(yīng)該相等,這時可用Little定律描述這一狀態(tài),其表達形式為:系統(tǒng)中的平均任務(wù)數(shù)=到達速率×平均響應(yīng)時間圖6-18I/O系統(tǒng)的真實模型到來服務(wù)排隊I/O控制器及設(shè)備5.2I/O性能預(yù)測Little定律
這里我們只研究系統(tǒng)的穩(wěn)定狀態(tài),即系統(tǒng)運行足夠長時間后,達到的一種狀態(tài)。此時任務(wù)的到達速率和離去速率應(yīng)該相等,這時可用Little定律描述這一狀態(tài):
系統(tǒng)中的平均任務(wù)數(shù)=達到速率×平均響應(yīng)時間
Lsys=R×Tsys5.2I/O性能預(yù)測系統(tǒng)利用率
為了評估一個I/O系統(tǒng)忙閑程度,我們引入一個叫系統(tǒng)利用率(systemutilization,以U表示)的概念,它的計算公式為
U=R/服務(wù)速率系統(tǒng)利用率的值域在0到1之間,否則就意味著到達I/O系統(tǒng)的任務(wù)比I/O系統(tǒng)所處理的要多,違反了前面說的平衡狀態(tài)條件,系統(tǒng)利用率有時也稱為通訊密度。5.2I/O性能預(yù)測[例6-1]設(shè)一個單磁盤的I/O系統(tǒng)每秒接收到10個I/O請求,而磁盤處理每個任務(wù)平均約需50ms。I/O系統(tǒng)的利用率是多少?解:服務(wù)速度=1/服務(wù)時間=20I/O任務(wù)/s(簡稱IOPS)則 系統(tǒng)利用率=到達速率/服務(wù)速率=0.5由Little定律得: 隊列長度=到達速率×等待(排隊)時間 服務(wù)長度=到達速率×服務(wù)時間[例6-2]設(shè)完成一個磁盤I/O請求的平均時間為50ms,磁盤收到的I/O請求為200IOPS,在服務(wù)器磁盤中的平均I/O請求個數(shù)是多少?解:服務(wù)長度=到達速率×服務(wù)時間=105.2I/O性能預(yù)測
如何從隊列中取出任務(wù)稱為隊列規(guī)則(queueprinciple),最簡單常用的規(guī)則為先進先出規(guī)則(first-in-first-out,FIFO),如果用先進先出方法,我們可以得到下式
系統(tǒng)時間=隊列長度×服務(wù)時間+新任務(wù)到達后完成目前任務(wù)的平均時間上式中最后一項計算起來并不像想象中那么簡單,新任務(wù)可以在任一時刻到達,也沒有辦法估計一個特定的任務(wù)要在系統(tǒng)中停留多少時間,為此,先介紹一些概率論的基礎(chǔ)知識。描述隨機變量概率分布的一種方法是直方圖(histogram)。它將一定范圍內(nèi)的取值劃為一個桶(bucket),將每個桶中取值概率相加,然后將其用不同長度的柱(column)表示,但它只適用于離散型的隨機變量,對于連續(xù)隨機變量的概率分布,必須用等值線上的連續(xù)曲線才能精確表示。5.2I/O性能預(yù)測平均服務(wù)時間=(f1×T1+f2×T2+…+fn×Tn)/∑fi這里Ti————任務(wù)i的服務(wù)時間,
fi————其概率。為表示實際值與平均值的偏離程度,可以用標準差或方差,后者是前者的平方。這里我們用方差,計算公式為
方差=∑(fi×(Ti-平均服務(wù)時間)2)/∑fi方差的缺點是其所使用的單位所造成的,由于它的單位是原單位的二次方,給使用和換算帶來一定困難,為了防止這個問題,常用一個叫協(xié)方差的量來計算。常簡寫為C表示
協(xié)方差(C)=方差/平均服務(wù)時間25.2I/O性能預(yù)測平均停留服務(wù)時間=1/2×平均服務(wù)時間×(1+C)[例6-3]以平均服務(wù)時間,服務(wù)器利用率,協(xié)方差計算新任務(wù)在隊列中的平均等待時間。解:Tq=Lq×
Tsvr+服務(wù)器利用率×平均停留服務(wù)時間Tq=服務(wù)器利用率×(1/2×Tsvr×(1+C))+(R×Tsvr)×TqTq=服務(wù)器利用率×(1/2×Tsvr×(1+C))+服務(wù)器利用率×TqTq-服務(wù)器利用率×Tq=服務(wù)器利用率×(1/2×Tsvr×(1+C))Tq=(服務(wù)器利用率×Tsvr×(1+C))/(2×(1-服務(wù)器利用率))設(shè)各任務(wù)為指數(shù)分布,則C=1,上式可簡化成
Tq=服務(wù)器利用率/(1-服務(wù)器利用率)5.2I/O性能預(yù)測上面的公式都是基于應(yīng)用數(shù)學的一個領(lǐng)域叫排隊論(queuingtheory),排隊論推導(dǎo)的結(jié)果一般只能逼近所需的結(jié)果,而不能得到真實的預(yù)測,因為實際系統(tǒng)要比理論模型復(fù)雜得多。和計算機科學中常用到的一些方法不同,它認為事件間是彼此獨立的,過去事件和現(xiàn)在事件之間沒有聯(lián)系,而計算機中常用的一些理論則以過去和現(xiàn)在有關(guān)為基礎(chǔ),比如Cache或虛存中內(nèi)容更新的一些算法(LRU),都是如此。排隊論的應(yīng)用通常以模型和實驗為基礎(chǔ),先建立模型,再進行試驗。如果結(jié)果是對的,就用這個模型來進行計算和預(yù)測。5.2I/O性能預(yù)測我們總結(jié)一直所用的排隊模型,并有以下假設(shè):⑴系統(tǒng)是穩(wěn)定的;⑵兩個相繼請求到來之間的時間稱間隔時間(intervaltimes)服從指數(shù)分布;⑶請求的個數(shù)是無限的(在排隊論中叫無限人口模型infinitepopulationmodel);⑷服務(wù)器在為前一個請求服務(wù)后能立即為下一個請求服務(wù);⑸隊列的長度是無限的,遵守先入先出原則;⑹隊列中所有任務(wù)都必須完成。
這樣的隊列在排隊論中稱M/G/1模型,各字母含義為
M:為無記憶,任務(wù)請求服從指數(shù)分布;
G:普通服務(wù)分布,非指數(shù)分布;
1:服務(wù)器只有一個。5.2I/O性能預(yù)測
如果時間間隔服從指數(shù)分布,模型就成為M/M/1,這個模型就是上例中簡化后的最后結(jié)果,它是一個最簡單的模型,使用廣泛。指數(shù)分布假設(shè)在排隊論中使用很廣,理由有兩個:
⑴一是許多計算機中的隨機事件服從指數(shù)分布,從而使用它是較準確的;
⑵另外一個原因則是計算簡單。下面給出幾個例子:5.2I/O性能預(yù)測[例6-4]設(shè)一個處理器以10IOPS速率發(fā)請求,它們都服從指數(shù)分布,平均磁盤服務(wù)時間為20ms,問:1.磁盤平均利用率為多少?2.平均用在排隊上的時間為多少?3.90%的排隊時間小于多少?4.包括排隊時間和磁盤服務(wù)時間在內(nèi),磁盤的平均響應(yīng)時間是多少?解:1.服務(wù)器利用率=到達速率/服務(wù)速率=10/(1/0.02)=0.22.平均排隊時間=平均服務(wù)時間×服務(wù)器利用率/(1-服務(wù)器利用率)=20×0.2/(1-0.2)=5(ms)3.從表6-4中查到,90%的排隊時間小于平均排隊時間的2.3倍,即2.3×5=11.5(ms)4.平均排隊時間+平均服務(wù)時間=5+20=25(ms)5.2I/O性能預(yù)測5.3I/O系統(tǒng)性能測量在上一節(jié)中,我們討論了對I/O系統(tǒng)性能的預(yù)測,但僅有預(yù)測是不夠的,實際測量能為我們提供I/O系統(tǒng)性能的實驗值,并為預(yù)測模型提供檢驗,幫助建立預(yù)測模型的和選擇參數(shù)進行性能測量的方法一般是采用基準測試程序(benchmark)。這是一些專門為檢驗性能編寫的小程序,可以測量I/O的基本性能,下面介紹用于測量磁盤系統(tǒng)性能的三種基準測試程序。5.3I/O系統(tǒng)性能測量事務(wù)處理基準測試程序
事務(wù)處理或在線事務(wù)處理(transactionprocessingTP;on_linetransactionprocessingOLip)用來測量數(shù)據(jù)庫的I/O性能。由于要處理的工作通常包括對一些共享數(shù)據(jù)的存取和保護,所以它更注重的是I/O速率,也就是單位時間內(nèi)磁盤存取的次數(shù),而不是數(shù)據(jù)速率。此外,TP系統(tǒng)還必須有在系統(tǒng)出錯時保持數(shù)據(jù)一致性的功能。此外,TP系統(tǒng)還必須有在系統(tǒng)出錯時保持數(shù)據(jù)一致性的功能。比如,一個銀行的計算機在客戶提錢時崩潰了,TP系統(tǒng)就必須保證客戶拿走的錢與銀行帳戶上的錢是一致的。5.3I/O系統(tǒng)性能測量由幾十個成員組成的TP協(xié)會(TPcommunity,TPC)推出了一種事務(wù)處理基準程序DebitCredit,這個軟件模擬銀行柜員的工作,測量系統(tǒng)的事務(wù)處理能力。模擬銀行客戶的存取操作,并以一個叫做每秒執(zhí)行事務(wù)數(shù)(transactionspersecond,TPS)的單位進行計量。TPC共同推出四種基準測試程序,TPC-A和TPC-B,在它們的基礎(chǔ)之上發(fā)展出模擬復(fù)雜查詢處理的基準測試程序TPC-C和模擬決策支持的TPC-D。根據(jù)TP系統(tǒng)設(shè)計的靈巧程度,每次事務(wù)進行2~10次磁盤存取,花掉5000~20000條CPU指令執(zhí)行的時間,這主要取決于TP系統(tǒng)軟件的效率,另外還取決于有多少磁盤存取能轉(zhuǎn)換為對主存的存取。所以TPC軟機不僅測量了計算機的I/O性能,也測量了用到的數(shù)據(jù)庫TP軟件。TPC主要測的是在90%事務(wù)的響應(yīng)時間不超過兩秒的情況下的峰值TPS指標,基準測試程序還要求當TPS增加時,模擬的柜員數(shù)和記帳文件大小也應(yīng)增加,如表6-5所示。這樣做的目的是保證基準測試程序確定測量I/O指標,否則在柜員很少或記帳文件很小的情況下,數(shù)據(jù)會直接在內(nèi)存的磁盤緩沖區(qū)內(nèi)讀寫,從而得到很高的虛假TPS值。5.3I/O系統(tǒng)性能測量TPC-A和TPC-B的另一個引人注目的優(yōu)點是它能比較兩臺不同配置的計算機的性能,除了報告TPS之外,基準測試程序也報告每個TPS的成本。5.3I/O系統(tǒng)性能測量表6-5模擬的柜員數(shù)和記帳文件大小關(guān)系5.3I/O系統(tǒng)性能測量系統(tǒng)文件服務(wù)器(system-levelfileserver,SFS)基準測試程序
SPEC基準測試程序是以測量處理器性能而聞名的,但是它也測試其它方面的指標。1990年,七家公司聯(lián)合推出一種綜合基準測試程序叫SFS,用來測量運行SUNMicrosystems
網(wǎng)絡(luò)文件系統(tǒng)NFS的計算機性能。這種基準測試軟件提供由比例適當?shù)淖x寫操作及其它(如文件檢查)操作組合而成的測量程序來測量NFS系統(tǒng)。SFS提供適合于進行性能比較的缺省參數(shù),如所有寫操作的一半在一個8KB的塊中完成,其余的一半在一些1,2或4KB大小的快中完成;或者讀85%的整塊和15%的零星碎塊等缺省參數(shù)。像TPC-B一樣,SFS按吞吐量大小對文件系統(tǒng)大小提出要求,如對一個能進行每秒100次NFS操作的系統(tǒng),要求其大小必須增加1GB。SFS也像TPC一樣限制了平均相應(yīng)時間,上限為50ms,SFS但不像TPC,提供了標準化的統(tǒng)一指標以便比較不同配置的計算機的性能。5.3I/O系統(tǒng)性能測量5.3I/O系統(tǒng)性能測量自擴展(self-scaling)的I/O基準測試程序
自擴展的I/O性能分析程序是由Chen和Patterson在1994年提出的,這種自擴展基準測試程序可以根據(jù)所測系統(tǒng)的性能自行改變測量尺度。在前面的TPC-B的SPEC中我們已經(jīng)看到改變測量參數(shù)以適應(yīng)不同尺度的例子,但這種基準測試程序可以測量參數(shù)變化范圍更廣的系統(tǒng),因而具有更大的適應(yīng)性。它通過五個參數(shù),從不同方面衡量和測試一個系統(tǒng),這五個參數(shù)是:5.3I/O系統(tǒng)性能測量自擴展(self-scaling)的I/O基準測試程序1.存取的獨立字節(jié)數(shù):工作負載所讀寫的獨立字節(jié)數(shù)(不重復(fù)的),實際上,這就是工作負載存取的數(shù)據(jù)集合大小。2.讀操作占總操作的百分比。3.平均I/O請求大小。從一個指數(shù)分布是選擇的。4.順序請求所占百分比。如一個請求與前一個請求是順序相連的,則稱他們是順序請求。比如在磁盤請求中,有一半的請求與它的前一個請求在磁盤位置上是相鄰的,就可認為順序請求所占百分比是50%。5.進程數(shù)。負載的并行程度,即可同時執(zhí)行I/O操作的進程數(shù)目。5.3I/O系統(tǒng)性能測量基準測試程序先對這五個參數(shù)取一個對系統(tǒng)性能來說沒有影響的額定值(nominal),然后依次固定4個值,改變一個值,進行測量,但第一個值不能改變,因為這牽涉到是真的在磁盤上讀寫還是在內(nèi)存文件緩沖區(qū)讀寫的問題,對系統(tǒng)性能影響很大。故一般由基準測試程序自動選擇兩個測試值,進行測試。5.3I/O系統(tǒng)性能測量
測試的結(jié)果指標分別按五個參數(shù)畫出性能曲線圖,由此就可以了解I/O系統(tǒng)的性能狀況,但這樣的測試也帶來了一個問題,即難以對不同I/O系統(tǒng)的性能進行公正的比較,因為各I/O系統(tǒng)的性能指標都是由自擴展基準測試程序在不同的負載下測出的,沒有可比性。所以,在進行了測試之后,還必須作第二步工作,即估計I/O系統(tǒng)在自擴展基準測試程序所未測的負載之下的性能,估計的原則是假設(shè)一個參數(shù)的性能曲線形狀與其他參數(shù)無關(guān),寫成公式如下:
Perf(X,Y,Z)=Perf(X額定,Y額定,Z額定,…)×fx(X)×fy(Y)×fz(Z)…其中:Perf(X,Y,Z)為I/O系統(tǒng)在參數(shù)為X,Y,Z時的性能,X額定,Y額定,Z額定為參數(shù)的一個初始額定值,
fx(X)為其它參數(shù)不變時,X參數(shù)的變化影響系統(tǒng)性能的比率,fy(Y),fz(Z)同理。Chen和Patterson聲稱,用這樣的方法估計,對大多數(shù)負載情況誤差不超過10%。引言設(shè)計一個I/O系統(tǒng)的中心問題是怎樣在防止造成I/O瓶頸的情況下設(shè)計一個符合預(yù)定性能和成本的系統(tǒng),此外,一個良好的I/O系統(tǒng)還必須有可擴充性,根據(jù)性能要求的不同,設(shè)計時應(yīng)側(cè)重不同的方面,下面列出設(shè)計I/O系統(tǒng)的六步方案:6.
總結(jié)6.
總結(jié)
1.列出計算機將連接的各種I/O設(shè)備,或計算機支持的總線標準。2.列出各I/O設(shè)備的物理要求,如體積,功率,接插件,總線槽,擴展機箱等。3.列出各種I/O設(shè)備的成本,包括控制這些I/O設(shè)備的成本。4.記下各種I/O設(shè)備對CP資源的要求,包括啟動,支持到終止一個I/O設(shè)備的時間,CPU等待I/O操作所需的時間,比如等待I/O完成對內(nèi)存,總線,Cache的使用和從I/O操作中恢復(fù)過來的時間(比如等待I/O后高速緩沖的刷新(flush))。5.列出I/O設(shè)備對存儲器和總線資源的需求,即使在CPU不使用存儲器時,存儲器的容量和帶寬也是有限的。6.最后對各種組織I/O設(shè)備的方法進行綜合分析和測評,選擇一種合理方案。6.
總結(jié)
性能價格比是影響I/O系統(tǒng)實現(xiàn)的重要因素,衡量性能的參數(shù)可以是每秒傳送的兆字節(jié)數(shù)或每秒I/O操作數(shù)IOPS,可以按具體要求選擇。對于要求高性能的系統(tǒng),主要是設(shè)法提高I/O設(shè)備的速度和數(shù)據(jù)傳送的速度等;對于低成本系統(tǒng),則著重考慮降低成本。下面舉例說明I/O設(shè)計的過程。如,按下列條件設(shè)計一個I/O系統(tǒng):6.
總結(jié)一個500MIPSCPU價格為$30000。一個16位寬存儲器,讀出周期100ns。一條20MB/S的I/O總線,可以為20條SCSI-2總線和控制器所用。SCSI-2總線可以具有20MB/s的傳輸率,最多支持15個磁盤。每個SCSI-2控制器價值1500美圓,會使磁盤I/O增加1ms時延。操作系統(tǒng)進行一次磁盤I/O需要10000條CPU指令。可選用8GB的大硬盤或2GB的小硬盤,每MB價格$.25。6.
總結(jié)8.磁盤轉(zhuǎn)速7200RB,平均尋道時間為8ms,傳輸速率為6MB/s。9.要求總外存為200GB。10.I/O傳送平均大小為16KB。評估在用大磁盤(2GB)和大磁盤(8GB)時的IOPS,設(shè)每次磁盤I/O開銷包括平均尋道時間和平均旋轉(zhuǎn)時延,設(shè)所有的設(shè)備可用到100%的容量,且各磁盤機上負載平衡。答:I/O性能由其性能最差的一部分決定,所有我們應(yīng)逐個檢查I/O性能的各個方面,再得出最終結(jié)果。6.
總結(jié)讓我們從計算CPU,主存,I/O總線的IOPS開始
CPU可達到的最大IPOS=CPU速度(以MIPS計)/每次I/O操作所需指令數(shù)=500MIPS/
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 競賽考試協(xié)議書
- 小學生手機管理協(xié)議書
- 脫歐金融協(xié)議書
- 瑜伽館轉(zhuǎn)讓合同協(xié)議書
- 美發(fā)勞動協(xié)議書
- 退股合作協(xié)議書
- 砂場付款協(xié)議書
- 員工貸款公司用協(xié)議書
- 手工十字繡合同協(xié)議書
- 酒吧供酒協(xié)議書
- 中國文化概論知識試題及答案
- 煙臺購房協(xié)議書
- 2025年中考生物模擬測試卷及答案
- 中國經(jīng)導(dǎo)管主動脈瓣置換術(shù)臨床路徑專家共識(2024版)解讀
- 2025呼倫貝爾農(nóng)墾集團有限公司校園招聘44人筆試參考題庫附帶答案詳解
- 2025-2030中國TPV行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 高等數(shù)學-第十二章-無窮級數(shù)
- 郵政寄遞安全培訓(xùn)
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 公路工程施工安全技術(shù)規(guī)范-JTG-F90-2015
- 單代號網(wǎng)絡(luò)圖
評論
0/150
提交評論