ch02 儲存系統.ppt

  1. 1、本文档共162页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重複檢查結果: 1、若CK檢查正確且SP檢查正確,則資料無誤。 2、若CK檢查正確而SP檢查錯誤,則表示資料無誤,但SP這個位元損壞,資料仍可使用,SP只是同位元碼不予理會。 3、若CK檢查錯誤且SP檢查正確,則表示資料有兩個位元錯誤,所以才會造成CK已經發現錯誤,而SP因兩個錯誤而仍保持偶數個1,這種情形表示傳送系統或儲存裝置(記憶體),已損壞不能使用。 4、若CK檢查錯誤且SP檢查也錯誤,則表示資料上有一個位元錯誤,依CK檢查找出該位元,加以修正即可繼續使用資料。 如果資料是六個位元101111,則編成漢明碼如下: 原六個位元,形成十一個位元,成本提高近一倍。 若資料為十六位元1000110011101111,則編成漢明碼如下: 原十六位元的資料,經編碼後變成二十一位元,其成本只多出六個位元,所以使用漢明碼時,資料位元愈多愈好,成本會降低。 虛擬位址存取式 CPU就必須以虛擬位址,至儲存系統內讀取指令執行。只是CPU並未直接連至儲存系統,所以要透過輸出入控制電路,將儲存系統內的程式複製至主記憶體中;然後CPU的虛擬位址會轉成實際位址,再到主記憶體,讀取程式的指令執行。 虛擬位址存取式的範例 CPU以硬碟的位址直接讀取指令或資料,即為虛擬位址存取式;若要執行在硬碟中的一個程式,其程式共佔有四頁,分別為第36、37、38與39頁,但因主記憶體大小受限,只能先將前兩頁(第36、37頁)放入主記憶體第一區塊中;然後CPU從第一個指令讀取執行,逐一運作至第36頁第38個指令讀取: CPU指示所要讀取的指令在硬碟裡,第36頁的第38個指令,此00000000100100 100110共20個位元的硬碟位址,即是虛擬位址存取式。CPU在讀取指令前,會先到對照表查閱第36頁在主記憶體哪一區塊,然後將虛擬位址轉成實際位址,CPU依實際位址至主記憶體中讀取都會正常讀中。 但若CPU要讀取在38與39頁中的指令,就會發生問題,因為這兩頁沒有放入主記憶體中,從對照表中可以發覺出來,此為缺頁: CPU在查閱對照表時,發現第38頁沒有在主記憶體的任何區塊中,即為缺頁。立即要求產生系統中斷,啟動硬碟存取,將第38頁讀入主記憶體中。 在虛擬位址存取式中,CPU讀取指令要用到硬碟位址容量的位元數,如圖例的20個位元才能執行;而CPU從對照表中就能發現與處理缺頁的問題。系統立即將38頁搬入主記憶體中,再由CPU以實際位址讀取: CPU的對照表(TLB),對於程式有幾頁在主記憶體的哪一區塊做有紀錄。CPU用虛擬位址讀取指令前先至對照表查閱後無誤,會改用實際位址讀取。發生缺頁時,系統會啟動輸出入控制電路讀取硬碟,將所要的頁搬入主記憶體。圖例中第38頁搬入第一區塊,而第36區塊因主記憶體空間不足而刪除,所以要修改CPU內的對照表,修正完成後,CPU才至主記憶體中讀取指令。 對照表 缺頁 由於程式可能有的部份頁在主記憶體中,有的部份還在儲存系統中;若CPU要讀取的頁,在查詢對照表時沒有在記憶體任何區塊中,則稱為缺頁(Page Fault),這就需要透過輸出入控制電路,至儲存系統中讀取這頁至主記憶體。 CPU內的對照表(TLB) 資料查詢的流程 CPU依管理程式的安排,所面對的是Cache;管理程式記載著要執行的程式,在外部儲存體的位置,並分頁載入至主記憶體區塊,將其紀錄在TLB中;然後再分成線組載入至Cache的槽中,並紀錄至TLB中;讓CPU順利至Cache讀取指令。 快取讀中率範例 假設Cache的讀中率是95%(Cache Hit),而CPU檢查TLB的時間是2ns,對Cache的資料讀寫是10ns。 另有5%是快取錯失(Cache Miss),當CPU檢查Cache的TLB,發現Cache內沒有所要資料,再到主記憶體的TLB查表要2ns。 然後到主記憶體內去找資料,而主記憶體的讀寫,包括實際位址的計算共要25ns(此時會要求快取更新)。 快取讀中率計算 譬如資料有100筆在程式的執行過程裡,其快取讀中的時間: 100*95%*(2ns+10ns)=95*12ns=1140ns 而快取錯失後,CPU至主記憶體存取所花時間: 100*5%*(2ns+2nS+25ns)=5*29ns=145ns CPU讀寫這100筆資料的時間總共需要1140+145=1285ns。 缺頁處理過程 如果發生缺頁(Page Fault),是指CPU先在Cache的TLB內沒發現所要的資料(Cache Miss),然後再到主記憶體的TLB內也沒有發現該頁(Page Fault),則CPU必須透過輸出入控制電路至外部儲存體,將這頁放至主記憶體,再放至Cache中,且同時修正兩個TLB表。缺頁的發生,是儲存系統在

文档评论(0)

wxc6688 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档