1. 程式人生 > >【計算機系統結構】 輸入/輸出系統

【計算機系統結構】 輸入/輸出系統

一、I/O系統的可靠性、可用性和可信性

系統的可靠性是指系統從某個初始參考點開始一直連續提供服務的能力,通常用平均無故障時間(MTTF)來衡量,
MTTF的倒數就是系統的失效率。

如果系統中每個模組的生存期服從指數分佈,則系統整體的失效率是各部件的失效率之和。

系統中斷服務的時間用平均修復時間(MTTR)來衡量。

系統的可用性是指系統正常工作的時間在連續兩次正常服務間隔時間中所佔的比例。

其中MTTF+MTTR通常用平均失效間隔時間(MTBF)來替換。

系統的可信性是指服務的質量。

二、RAID

RAID原理是將並行處理技術引入到磁碟系統。
RAID的特點是:盤陣列容量大、速度快、可靠性高、造價低廉,是解決I/O瓶頸的有效方法之一。

2.1 RAID0 (非冗餘)

從資料層面講,將資料按塊分佈在多個盤上,實際上是非冗餘陣列,無冗餘資訊。嚴格地說,它不屬於RAID系列。
優點:高效能,磁碟利用率高。
缺點:系統可靠性差。

2.2 RAID1 (映象)

資料每寫入到一個盤時,就將其也寫到另一個冗餘盤,形成兩個備份。
優點:系統可靠性好,設計簡單。
缺點:硬體開銷大,效率低。

2.3 RAID2—儲存式ECC

位交叉式海明編碼陣列
優點:高速誤差校正,資料傳輸速率高,設計較簡單。
缺點:校正空間大,磁碟陣列利用率低。僅僅理論上體現其優越,未能廣泛應用。

2.4 RAID3—位交叉奇偶校驗

是單盤容錯並行傳輸的陣列,即資料以位或位元組交叉的方式儲存於各盤,冗餘的奇偶校驗資訊儲存在一臺專用盤上。
在RAID3中,磁碟被分組,讀寫要訪問組中所有盤,每組有一個盤作為校驗盤,當一個盤出故障時,通過校驗和
恢復出錯資料。
優點:讀寫速度快,盤失效對吞吐率影響小,盤陣列利用率高。
缺點:設計較複雜。

2.5 RAID4—塊交叉奇偶校驗

是專用奇偶校驗獨立存取陣列,即資料以塊交叉的方式儲存於各盤,冗餘的奇偶校驗資訊儲存在一臺專用盤上。
優點:讀寫速度快,盤陣列利用率高。
缺點:設計較複雜,盤失效對吞吐率影響大。

2.6 RAID5—塊交叉分佈奇偶校驗

是塊交叉分散式奇偶校驗盤陣列(或稱旋轉奇偶校驗獨立存取陣列),即資料以塊交叉的方式儲存於各盤,但無專用
的校驗盤,而是將冗餘的奇偶校驗資訊均勻地分佈在所有盤上。資料塊每一行的相聯奇偶校驗不再限制在單一盤上,
只要塊單元不位於同一個磁碟內,這種組織方法可以支援多個寫同時執行。
優點:讀資料速率最高,盤陣列利用率高。
缺點:控制器設計複雜,盤失效對系統可靠性有一定影響。

2.7 RAID6—P+Q冗餘

是雙維奇偶校驗獨立存取陣列,即資料以塊交叉的方式儲存於各盤,冗餘的檢、糾錯資訊均勻地分佈在所有盤上。並且,每次
寫入資料都要一個數據盤和兩個校驗盤,可容忍雙盤出錯。

2.8 RAID7—Cache+非同步

是採用Cache和非同步技術的RAID6,使響應速度和傳輸速率有了較大地提高。

2.9 RAID10與RAID01

RAID10又稱為RAID1+0,先進行映象(RAID1),再進行條帶存放(RAID0)
RAID01又稱為RAID0+1,先進行條帶存放(RAID0),再進行映象(RAID1)

三、通道處理機

3.1 通道的作用

① 接受CPU發來的I/O指令,與指定的裝置連線,訪問指定的裝置。
② 執行CPU為通道組織的通道程式。從通道緩衝區中讀取通道指令,經譯碼分析,向指定的裝置控制器或裝置發出各種操作控
制命令。
③ 組織和控制資料在記憶體與外設之間的資訊傳送操作。
④ 在資料傳輸過程中完成必要的格式變換,例如,把字拆卸為位元組,或者把位元組裝配成字等。
⑤ 讀取和接收外設的狀態資訊, 檢查外圍裝置的工作狀態是正常還是故障,形成通道狀態資訊,並根據需要將裝置的狀態信
息送往主存指定單元儲存。
⑥ 向CPU發出I/O中斷請求。對來自外設及通道的中斷請求按優先次序進行排隊後報告CPU。

3.2 通道的硬體

通道的主要硬體包括暫存器部分和控制部分。

⑴ 暫存器部分
資料緩衝暫存器(DBR)、主存地址計數器、傳輸位元組數計數器(WCNT)、通道命令字暫存器(CCWR)、通道地址暫存器(CAR),
通道狀態字暫存器(STR) 。
⑵ 控制部分
包括資料裝配和拆卸控制、資料傳送控制、地址分配控制、分時控制等控制邏輯。

3.3 通道的工作過程

1)在使用者程式中使用廣義指令進入管理程式,由CPU通過管理程式組織 一個通道程式,並啟動通道。
2)通道進行裝置選擇
3)通道執行通道程式,控制主存—通道—裝置之間的資訊傳送,直至完成指定的I/O工作。
4)通道資訊傳送結束

3.4 通道的種類

(1)位元組多路通道

位元組多路通道是一種簡單的共享通道,主要為多臺低速或中速的外設服務。這些裝置一般是以位元組為寬度進行輸入/輸出,而且相
鄰的兩次傳送之間有較長的等待。

(2)選擇通道

選擇通道只有一套完整的硬體,以獨佔的方式工作,逐個輪流地為物理上連線的幾臺高速外設服務。
選擇通道在一段時間內單獨為一臺外設服務,但在不同的時間內可以選擇不同的裝置。
選擇通道一旦選中某一裝置,通道就進入“忙”狀態直到該裝置的資料傳輸工作全部結束為止。
選擇通道傳送的資料寬度是可變的,它為一臺外設傳送完資料後才轉去處理其他外設。

(3)陣列多路通道

陣列多路通道將位元組多路通道和選擇通道的特性結合起來。一個通道可帶有多個子通道,各子通道以成組交叉模式輪流使用通道。
成組交叉模式:利用通道傳送完一組資料(資料塊)後讓出通道。
陣列多路通道適用於以陣列為單位的高速外設。
陣列多路通道選擇一個高速裝置後,先向其發出一個尋找的命令,然後在這個裝置尋找期間可以為其他裝置服務。在裝置尋找
完成後再與其真正建立資料連線,並一直維持到一個數據塊傳輸完畢。

3.5 通道流量分析

通道流量(通道吞吐率、通道資料傳輸率)
通道在資料傳送期間單位時間所傳送的資料量。通常用單位時間傳送的位元組數表示。
通道極限流量(通道最大流量)
通道在資料傳送期間單位時間所允許傳送的最大資料量。通常用單位時間傳送的最大位元組數表示。
通道極限流量反映了一個通道在滿負荷工作狀態下的資料流量。

引數說明:
Ts:裝置選擇時間。從通道響應裝置發出資料傳送請求開始,到通道實際為這臺裝置傳送資料所需要的時間。
TD:傳送一個位元組所需的時間。即通道執行一條通道指令傳送一個位元組所用的時間。
P:在一個通道上連線的裝置臺數,且這些裝置同時都在工作。
n:每一個裝置傳送的位元組個數。假設每一 臺裝置傳送的位元組數都相同。
T:通道完成全部資料傳送工作所需要的時間。
k:一個數據塊中的位元組數。
Dij:連線在通道上的第i臺裝置傳送的第j個數據,其中:i=1,2,…,p;j=1,2,…,n。

(1)位元組多路通道的流量分析

設一個位元組多路通道上連線了P臺裝置,每一臺裝置都需傳送n個位元組。
位元組多路通道上裝置選擇時間Ts和資料傳送時間TD是間隔進行的。

完成所有裝置的資料傳送所需的時間為:

極限流量為:

(2)選擇通道的流量分析

完成所有裝置的資料傳送所需的時間為:

極限流量為:

(3)陣列多路通道的流量分析

設一個數組多路通道上連線了P臺裝置,每一臺裝置都按資料塊進行傳送,若每個資料塊中包含k個位元組,
則傳送n個位元組需n/k個數據塊。
陣列多路通道上每臺裝置的經過裝置選擇時間Ts和一個數據塊的傳送時間TD1…TDk後,就可以開始下一
臺裝置的資料塊傳送。

完成所有裝置的資料傳送所需的時間為:

極限流量為:

3.6 通道實際流量分析

(1)位元組多路通道

因為通道上的每臺裝置都擁有一小片時間段,所以通道的實際流量為所有裝置流量之和。

fi是第 i 臺裝置的流量

(2)選擇通道和陣列多路通道

因為一個通道在一個時間段內只能為一臺裝置服務,所以通道的流量等於所有裝置中流量最大的裝置的流量。

(3)通道流量的設計要求

為了保證通道能夠正常工作,不丟失資料,通道的實際流量不應超過通道的極限流量。

(4)I/O系統流量設計

I/O系統的極限流量為: