62bf700a894122c94a4f5db6f56ca3c1.ppt
- Количество слайдов: 34
Computer Architecture & Organization 第 七 章 輸出入與儲存系統 Input/Output and Storage Systems ROBERT CHEN SHU-TE UNIVERSITY CSIE DEPT.
Computer Architecture & Organization 第七章 課程目的 • 了解 I/O系統如何運作,包括 I/O 的方法和架構 • 熟悉儲存媒體,並了解他們之間格式的不同 • 了解 RAID如何增進磁碟的效能和考靠度 SHU-TE UNIVERSITY CSIE DEPT. 7 - 2
Computer Architecture & Organization 7. 1 簡介 • 輸入裝置 – 鍵盤、滑鼠 • 輸出裝置 – 螢幕 (非觸控式 )、印表機 • 輸出入裝置 (I/O device) – 磁碟機、數據機 • IO裝置與主機間之互動及控制方法 • 大型儲存裝置之內部構造與應用 SHU-TE UNIVERSITY CSIE DEPT. 7 - 3
Computer Architecture & Organization 7. 2 I/O及效能 (I/O and Performance) • 造成系統執行 效能不佳之原因 ,通常不是 CPU與記憶體, 而是 系統如何處理 I/O • 性能差的 I/O 系統會產生漣漪作用,進而拖垮整個系統 – 尤其是 虛擬記憶體 ,系統如何如何將主記憶體分頁存至磁 碟,以產生更多記憶體空間讓更多的使用者行程 (user process)放置 – 應清楚了解系統運作,使資源有效利用,必要時才增加額外 資源 SHU-TE UNIVERSITY CSIE DEPT. 7 - 4
Computer Architecture & Organization 7. 3 安達爾法則 (Amdahl ‘s Law) • 系統的整體效能和系統中所有元件互動的結果,當增進 系統中最常使用元件的效能時,那系統的效能就能有效 的增進 • 安德爾法則 (Amdahl’s Law) – 電腦整體效能之提升 (speedup)取決於 單一元件速度之提升 與系統所使用之元件數 S 是整體系統速度提升 ; f 是新 (較快 )元件的 作效能係數; k 是新 (較快 )元件的所提升之速度。 未更新的部分 S 是整體系統速度提升 ; f 是元件的 作比例; k 是元件的提升之速度 (未提升為 1)。 SHU-TE UNIVERSITY CSIE DEPT. 7 - 5
Computer Architecture & Organization 7. 3 安達爾法則 (Amdahl ‘s Law) [範例 ]若行程每天花 70%時間在 CPU處理,30%時間等待磁碟服務;若有一陣 列處理器 (processor array)要價 10000元,但比原 CPU處理速度快 50%;另有一 組新磁碟機要價 7000元,但磁碟效能提升 2. 5倍,請問何者方案較佳 ? [答案 ] 若採第一案 : (換 CPU) 若採第二案 : (換磁碟機 ) 但應考量 C/P值 (Cost/Performance) 第一案: C/P = 10000/30=333 元 (提升 1%效能所需花費成本 ) 第二案: C/P = 7000/22=318 元 所以應採第二案,更新磁碟機較佳 !! SHU-TE UNIVERSITY CSIE DEPT. 7 - 6
Computer Architecture & Organization 課本習題 3 • 系統 作有 55%CPU及 45%磁碟,今提出 2改善方案 : 第一案花 8000美元升級 磁碟,速度提高為 2. 5倍,另一方案花 5000美元升級 CPU速度提高為 1. 4倍,請 問 – 哪一方案之 CP值較佳 ? – 若不考慮成本,何者可使系統更快 ? – 升級之收支平衡點為何 ? (i. e. 整體效能提升 1%之成本,只更改其中一項 ) – 若題目改為 60%CPU與 40%磁碟,則以上答案又為何 ? (習題 2) [ANS] Fraction of work: 55% CPU, 45% disk. S CPU = 1/((1 -f)+(f/k)) = 1/((1 -0. 55)+(0. 55/1. 4)) = 1. 1864 or 18. 64% S DISK = 1/((1 -f)+(f/k)) = 1/((1 -0. 45)+(0. 45/2. 5)) = 1. 3699 or 36. 99% a. Choose the disk upgrade: CPU = $5000/18. 64% = $268. 24 per 1% increase in performance Disk = $8000/36. 99% = $216. 27 per 1% increase in performance b. The disk upgrade gives the greater improvement: 36. 99% versus 18. 64% for the processor. c. We want the price per 1% to be the same. If we change the price of the CPU, we have X/18. 64 = 216. 27, and X= $4031. If we change the price of the disk, we have Y/36. 99 = 268. 24, or Y = $9922. SHU-TE UNIVERSITY CSIE DEPT. 7 - 7
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 輸入 /輸出 – 定義為一個在外部裝置和主機間移動編碼資料的子系統元件,包含 • • • 專門負責 I/O運作的 主記憶體區塊 用於載送資料進出系統的 匯流排 負責主機和週邊裝置溝通的 控制模組 外部元件的介面 , 如鍵盤和磁碟 主系統和週邊之間的 纜線或通訊鏈路 • I/O組態模組如右圖 主機板 裝置轉接器 電路板 (轉接器卡) SHU-TE UNIVERSITY CSIE DEPT. 7 - 8
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 協定 (protocol) – 在收送兩端做訊號交換的方式,包含命令訊號 (如 Printer Reset)、狀態訊號 (Tape Ready)、資料傳遞訊號 (如 Here are the data you requested. ) • 交握 (handshake) – 在大多數的資料交換協定中,接收端必須回應傳送端以收 到命令與資料,或表示已準備好接收資料,此種協定稱為交 握。 • 緩衝記憶體 (buffer memory) – 主機快速傳送大量資料給周邊裝置時,不用等待速度較慢 的周邊裝置去時將資料寫入,裝置的控制電路負責存取資 料,並確保其正確性 • 永久性儲存裝置 (durable storage)[實際不然 ] – 資料保存時間比揮發性記憶體長久 – 磁性材料約 5 -30年;光學材料約 100年 SHU-TE UNIVERSITY CSIE DEPT. 7 - 9
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 一般 I/O 有四種控制的方式 – 程式化 I/O (programmed I/O)/輪詢式 /IO (polled I/O) • 為每個 I/O裝置保留一個暫存器。 每個暫存器會被輪流詢問是 否有資料到達 – 中斷驅動 I/O (interrupt-driven I/O) • 允許 CPU在 I/O沒發出要求時去做別的事 – 直接記憶體存取 (Direct Memory Access, DMA) • 將 I/O 交給特殊的晶片 (DMAC)來處理 – 通道式 I/O (channel-attached I/O) • 使用專屬的 I/O 處理器 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 程式化 I/O (輪詢式 I/O: polled I/O)【 PIO模式 】 即 – CPU持續監控 (輪詢 )與 I/O埠 (port)連接之暫存器。當有一個 Byte資料到達該埠時,控制暫存器 (control register)中的控制 位元也設為 “data ready” , CPU重置該控制位元,並讀出該資 料加以處理,處理完畢 CPU繼續做輪詢。 – 好處 : 簡單易行,容易控制 – 缺點 : CPU一值儲於 ”busy wait”的情況,另外輪詢的頻率多寡 不一,依裝置特性而定 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 中斷驅動 I/O(interrupt-driven I/O) – 裝置會主動中斷來告之 CPU有資料要送。 CPU會處理其他 作直到有裝置送出中斷給 CPU來請求服務,常見且有效率 之方法 – 通常有 中斷控制器 (Interrupt controller,如Intel 8259 A)作為溝 通過程之運作 如8259 A SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 中斷檢查與中斷處理流程 開始 中斷訊號 偵測 儲存變數與 暫存器 在中斷向量表中 尋找 ISR位址 發生 中斷 ? 處理中斷 完成指令週 期 將 ISR位址 放入 PC中 開始 分支到 ISR 完成 中斷 作 回復所儲存變數 與暫存器 返回 跳至 指令週期 頂端 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 直接記憶體存取 (Direct Memory Access: DMA) – DMA 和 CPU共享匯流排 – DMA的優先權較高 , 會從 CPU竊取記憶體週期 (週期竊取 cyclestealing) DMA資料傳輸演算法: WHILE (更多輸入AND 無錯誤) Byte-count 加 1 IF (Byte-count > 欲傳輸位元組數量) THEN EXIT ENDIF 將byte放到目的地之緩衝區 發出位元組備妥(byte ready)訊號 啟動計時器 REPEAT 等待 UNTIL 位元組回應訊號, 逾時 或錯誤 ENDWHILE SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 直接記憶體存取 (Direct Memory Access: DMA)之 – 直接記憶體存取 (direct memory access, DMA)為一個特殊的硬體結構,它允許介面 裝置與記憶體之間直接轉移資料,而不需經由 CPU的參與。在週邊與記憶體之間 需要大量資料轉移時,此種方式可說是一種不需要中斷服務程式的中斷服務,直 接由硬體完成此特定的 作,節省了許多程式執行的時間。 – CPU需傳送三個資料給 DMAC • 傳輸位元組起始位置 (starting address) • 欲傳輸位元組之數量 (byte count) • 裝置編號 (device number) • DMA傳輸模式 – 週期竊取 (cycle stealing)/單一位元組傳輸 • DMAC利用 CPU執行指令週期時,多用一個 Clock cycle來傳輸 1 byte的資料 – 區塊模式 (block mode)/爆發模式 (burst mode) • 適合運用在記憶體與記憶體之間區塊資料 作業。 ,或是記憶體與硬碟間叢集資料 (cluster)的傳輸 目前電腦多採用 第二種的區塊模式 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture-補充 ) • 直接記憶體存取的 作程序 例) (以 8086與 8237為 一個直接記憶體存取的微電腦架構,其中 DMAC是 這個架構中負責行使直接記憶體存取的控制晶片, 整個 DMA的 作程序描述如下: – – – – (1) 一個週邊的 I/ O裝置須要直接記憶體存取時,以 DRQ=1向 DMAC提出 DMA請求。 (2) DMAC以 HRQ=1通知 CPU 的 HOLD端。 (3) CPU執行完畢目前的匯流排週期,將位址匯流排、 資料匯流排以及控制匯流排置於高阻抗狀態,亦即與 CPU接腳中分離,然後啟動 HLDA=1告知 DMAC可以使 用系統匯流排了。 (4) DMAC將事先以程式規劃好的位址計數器內容轉 移至位址匯流排。 (5) 接著以 DACK=1通知 I/ O裝置位址線已備妥。 (6) 啟動記憶體及 I/ O裝置的讀或寫控制線,完成第 一筆資料的轉移。如果 DMAC設定在區段模式, DMAC 會將位址計數器加一,語句計數器減一,再回到前一 個步驟,直到 DMAC中的語句計數器等於零。 (7) DMAC釋放控制權將所有匯流排開路,移除 DMA 請求,以HRQ=0通知 DMA 作已經結束, CPU得知後 以 HLDA=0回應,並收回匯流排控制權繼續原先的 作。 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 通道式 I/O – 多用於超大型系統 – 通道式 I/O 由一或多個 I/O 處理器構成 (IOPs) ,它們控制不同的通道路徑 – 較慢的裝置 (終端機、印表機 )會接到多 器 (multiplexed)一個快速的通道 – 在 IBM的大型電腦中,這種多 通道稱為 多 器通道 (multiplexor channels ), 較快的稱為 選擇器通道 (selector channels) • 通道式 I/O和 DMA 的差別 – 在於 IOP的智慧程度, – IOP 會負責協定 , 發出裝置的命令,翻譯儲存碼成為記憶編,並傳 輸全部或多組的檔案。 – 主機只要建立 I/O運作所需的程式指令並告訴 IOP該程式指令之位 址。 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4 I/O架構 (I/O Architecture) • 通道式 IO – IOP執行由 CPU放在主記憶體中的程式。由一系列的 通道指令字集 (Channel Command Word, )組成,包含實際傳輸指令、控制 IO裝置 指令、如初始化裝置、列印、磁帶轉動等命令。 – CP劃花初啟動子通道命令 (start subchannel, SSCH)通知 IO程式位址 找尋範圍內的 IOP。 – 當 IOP完成 作後會發出 中斷給 CPU,以作後續處理 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 4. 2 字元 I/O和區塊 I/O • 字元 IO – 以鍵盤為例, – 按下鍵盤 送出相對掃描碼 翻成字元碼 存在鍵盤緩衝 區 送出 中斷訊號 ,等待被讀取 • 區塊 IO – 適用於磁碟或磁帶,因其資料儲存以區塊為單位,多 DMA – 區塊大小與系統效能有關 SHU-TE UNIVERSITY CSIE DEPT. 採用 7 -
Computer Architecture & Organization 7. 4. 3 I/O匯流排操作 • DMA,將資料寫入磁碟機之步驟 – DMA送出位址,並發出請求 (Request)及寫入 (Write)訊號 – 當控制器解碼電路檢查是否有 Request訊號 – 檢查為自己的位址,啟動磁碟控制電路,並送出 Ready訊號,以完成 Handshake – DMA送出資料後,清除 Request訊號 – 磁碟控制器接收資料到磁碟緩衝區,並清除 Ready訊號 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 5 資料傳輸模式 • 資料傳輸模式有二種 – 平行傳輸 (parallel transmission) • 有多條 (8)資料傳輸線與一條 同步線 (閃控 strobe),傳輸 1 byte/次 • 可傳輸距離通常在 30呎內 (9公尺 ) • 例如印表機協定 – 序列傳輸 /串列傳輸 (serial transmission) • 一條資料傳輸線與控制線,傳輸 • 有效傳輸距離比平行傳輸遠 • 例如 RS 232(COM)協定 SHU-TE UNIVERSITY CSIE DEPT. 1 bit/次 7 -
Computer Architecture & Organization 7. 6 磁碟技術 • 磁碟 – 可快速存取的大量持久性儲存體,磁碟機稱為隨機 (或直接 ) 存取 儲存裝置,因為資料區塊可根據在磁碟上的位置來存取 • 磁碟組織圖 – 磁軌 (track)從 0開始,由外向內 編號 – 讀 /寫頭下轉動的磁碟形成 磁柱 – 資料區塊是由 磁柱 (cylinder), 磁盤 (platter)和 磁區 (sector)來定址的 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 6 磁碟技術 • 磁碟硬碟存取資料的速度取決於很多電子機械特性 – 搜尋時間 (Seek time) 是 磁臂移到磁柱的時間 (不含讀取目錄時間 : C 7 P 3 S 74) – 旋轉延遲 (Rotational delay) 是 磁區轉到讀寫頭之下的時間 – 存取時間 (Access time) = Seek time + Rotational delay – 傳輸時間 (Transfer time) =存取時間 +資料讀取時間 (與資料量有關 ) • 傳輸率 (Transfer rate)是資料從磁碟讀取的速度 • 平均延遲時間 (Average latency)是旋轉速度的函數 • 平均出錯時間 (Mean Time To Failure (MTTF)) – 是一個由實驗求出的統計值,以失敗次數所描繪出的機率曲線 – 它通常不會告訴我們磁碟的壽命,設計壽命 些 SHU-TE UNIVERSITY CSIE DEPT. (Design life)通常實在 7 -
Computer Architecture & Organization FAT/CD/DVD/TAPE • 待補 (不考 ) SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9 RAID • RAID(獨立磁碟之冗餘陣列 Redundant Array of Independent Disks) – 由 David Patterson 、 Garth Gibson和 Randy Katz提出 ,對 RAID 的分 類已經適用了 25年之久,有些定義已經重新被定義了 – 一種 資料即時備援與復原技術 ,解決磁碟可靠度,成本和效能問 題。 • RAID特性 – RAID實體上是多個磁碟的組合;對作業系統而言,視同單一磁碟 機 – 資料 分散 儲存在多個磁碟內, – 備份資料多用來儲存同位元資訊,做錯誤修正用 – 資料分成 多個條帶 (strip),並以循環的方式分散儲存於多個不同磁 碟中 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 1 RAID 0 • RAID-0 – 又稱為磁碟跨距 (drive spanning ),能增進效能,但沒有冗餘磁碟 – 寫入的資料區塊或資料段 (strip)是橫跨所有磁碟陣列 – 缺點為 無備份 ,可靠度比較低 一筆資料紀錄(data record) 分成多個資料區塊(段stripe) 分散存育多個磁碟中 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 2 RAID 1 • RAID Level 1 – 也稱為 磁碟鏡射 ( disk mirroring),需多一倍的 磁碟空間,效能也很 好 – 有二組相對的磁碟,擁有相同的資料 – RAID 1 的缺點就是成本太高 資料磁碟 SHU-TE UNIVERSITY CSIE DEPT. 備份磁碟 7 -
Computer Architecture & Organization 7. 9. 3 RAID 2 • RAID Level 2 – 由一組 資料磁碟 和一組 漢明碼 (Hamming code)磁碟 所組成 – Hamming code 磁碟為資料磁碟提供了錯誤修正的能力 – RAID 2 的效能差 (產生漢明碼需要時間 ),而且成本相對也高 資料磁碟 漢明碼磁碟 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 4 RAID 3 • RAID Level 3 – – 將 帶狀位元 分散在資料磁碟上,需多一個同位元磁碟 同位位元就是資料位元的 XOR結果 (採偶同位 ) 一次只能橫跨所有硬碟,每個硬碟寫入 1個 bit RAID 3 並不適合商業用,但對個人系統來說非常不錯 – 圖例 : ‘W’ = 57 H=0101 0111,採偶同位 High nibble : 0 1=0 Low nibble : 0 1 1 1=1 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 5 RAID 4 • RAID Level 4 – 就像是將同位元磁碟加到 RAID 0 – 資料區塊 (條 )是分散在資料磁碟,而同位元區塊寫到額外的 磁碟 – 一次橫跨所有硬碟,每個硬碟寫入 1個資料段 – 如果所有的區塊大小都一樣的話,那 RAID 4是可行的 – 當寫入 2個資料段時 (如資料段 1, 3),則同位磁碟是效能的瓶 頸,故不適合商業用途 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 6 RAID 5 • RAID Level 5 – 類似同位元分散在個別磁碟的 RAID 4 – 當同位元分開儲存時,某些存取就可以同時的進行了,提供 了不錯的效能和可靠度 – RAID 5 在很多商業系統上使用 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 7 RAID 6 • RAID Level 6 – 資料條有雙層的資料保護: Reed-Soloman 和 同位元。 – 可以容忍二個磁碟發生問題。 – RAID 6 寫的動作很頻繁,但是錯誤容忍度很高。 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 8 RAID DP • 雙同位檢查 RAID(Double Parity RAID, RAID DP) – 採用一對同位區塊,用於保護重疊的資料區塊,能容忍兩 個磁碟的資料同時遺失,而沒有錯誤 – 簡單的同位函式在效能上比 RAID 6好很多 SHU-TE UNIVERSITY CSIE DEPT. 7 -
Computer Architecture & Organization 7. 9. 9 RAID 效能彙整 RAID 描述 可靠度 效能 比單一 非常好 磁碟差 優缺點 0 資料以區塊(條)切割 1 資料鏡射到其他磁碟 優 比單一磁碟差,寫入較差 資料保護極佳,高成本 2 資料以位元(條)切割 採漢明碼檢查 好 非常好 效能好,高成本,不採用 3 資料以位元(條)切割 採同位檢查 好 非常好 效能好,成本合理 4 資料以區塊(條)切割 搭配一個位元檢查碟 好 讀取效能非常好 寫入比單一磁碟差很多 效能差,成本合理,不採用 5 資料以區塊(條)切割 分散式位元檢查碟 好 讀取效能非常好 寫入不如單一磁碟 效能好,成本合理 6 資料以區塊(條)切割 雙 錯誤檢查 優 讀取效能非常好 寫入比單一磁碟差很多 效能好,成本合理, 複雜度高 優 讀取效能比單一磁碟好 寫入不如單一磁碟 效能好,高成本, 資料保護極佳 優 讀取效能比單一磁碟好 寫入不如單一磁碟 效能好,成本合理, 資料保護極佳 10(1+0) 鏡射磁碟資料分割 DP 資料以區塊(條)切割 搭配兩個位元檢查碟 SHU-TE UNIVERSITY CSIE DEPT. 低成本,無資料保護 7 -
62bf700a894122c94a4f5db6f56ca3c1.ppt