重要知識點
三種常見的儲存技術
ram,rom,磁碟。
隨機訪問儲存器(ram)
非易失性儲存器(rom)
ram斷電會丟失它們的資訊,所以它們是易失的,而rom即使斷電後也仍然儲存著它們的資訊。由於歷史原因,雖然rom中有的型別即可以讀也可以寫,但是它們整體上都稱為唯讀儲存器。rom是以它們能夠被重程式設計(寫)的次數和它們進行重程式設計所用的機制進行區分。
訪問主存
資料流通過稱為匯流排的共享電子電路在處理器和dram主存之間來來回回。每次cpu和主存之間的資料傳送都是通過一系列的步驟來完成的,這些步驟稱為匯流排事物。
磁碟儲存
磁碟是廣為應用的儲存大量資料的儲存裝置,儲存資料的數量級可以達到幾百到幾千千兆位元組。
磁碟由碟片構成的。每個碟片有兩面或者稱為表面,表面覆蓋著磁性記錄材料。碟片**有乙個可以旋轉的主軸,它使得碟片以固定的旋轉速率旋轉,通常是5400~15000轉每分鐘。磁碟通常包含乙個或多個這樣的碟片,並封裝在乙個密封的容器內。
磁碟的每個表面是由一組稱為磁軌的同心圓組成的。每個磁軌被劃分為一組扇區。每個扇區包含相等數量的資料位(通常是512位元組),這些資料編碼在扇區上的磁性材料中。扇區之間由一些間隙分隔開,這些間隙中不儲存資料位。間隙儲存用來標識扇區的格式化位。磁碟製造商通常用術語柱面來描述多個碟片驅動器的構造,這裡,柱面是所有碟片表面上到主軸中心的距離相等的磁軌距離的集合。
磁碟容量
乙個磁碟上可以記錄的最大位數稱為它的最大容量,或者簡稱為容量。磁碟容量是由以下因素決定的:
計算公式如下:
磁碟操作
磁碟用讀/寫頭來讀寫儲存在磁性表面的位,而讀寫頭連線到乙個傳動臂的一端。
尋道:通過沿著傳動臂,驅動器將讀/寫頭定位在盤面上的任何磁軌上。
磁碟以扇區大小的塊來訪問資料。對扇區的訪問時間有三個主要的部分:
邏輯磁碟塊
為了對作業系統隱藏磁碟構造的複雜性,現代磁碟將它們的構造呈現為乙個簡單的檢視,乙個b個扇大小的邏輯塊序列,編號為0,1,…,b-1。磁碟中有乙個小的硬體/韌體裝置,稱為磁碟控制器,維護著邏輯塊號和實際(物理)磁碟扇區之間的對映關係。
作業系統的i/o操作的具體過程
例:當讀乙個磁碟扇區的資料到主存,
作業系統會傳送乙個命令道磁碟控制器,讓它讀某個邏輯塊號。控制器上的韌體執行乙個快速表查詢,將乙個邏輯塊號翻譯成乙個(盤面,磁軌,扇區)的三元組,這個三元組唯一地標識了對應的物理扇區,控制器上的硬體解釋這個三元組,將讀/寫頭移動到適當的柱面,等待扇區移動到讀/寫頭下,將讀/寫頭感知到的位放到控制器上的乙個小緩衝區中,然後將它們拷貝到主存中。
區域性性原理
乙個編寫良好的電腦程式常常具有良好的區域性性。也就是說,它們傾向於引用臨近與其他最近引用過的資料項的資料項,或者最近引用過的資料項本身。這種傾向性被稱為區域性性原理。
區域性性通常有兩種不同的形式:
資料引用區域性性:對於具有步長為k的引用模式的程式,步長越小,空間區域性性越好。具有步長為1的引用模式的程式有很好的空間區域性性。在儲存器以大步長跳來跳去的程式空間區域性性會很差。
取指令區域性性:對於取指令來說,迴圈有好的時間和空間區域性性。迴圈體越小,迴圈迭代次數越多,區域性性越好。
儲存器的層次結構
儲存器結構的中心思想:對於每乙個k,位於k層的更小更快的儲存裝置作為位於k+1層的更大更慢的儲存裝置的快取。
快取記憶體結構
若乙個計算機系統,其中每個儲存器位址有m位,形成m=個不同的位址。如下圖所示,這樣的乙個機器的快取記憶體被組織成乙個s=個快取記憶體組的陣列。每個陣列包含e個快取記憶體行。每一行是由乙個b=位元組的資料塊組成的,乙個有效位指明這個行是否包含有意義的資訊,還有t=m-(b+s)個標記位(是當前塊的儲存器位址的位的乙個子集),它們唯一地標識儲存在這個快取記憶體行中的塊。
快取記憶體確定乙個請求是否命中,然後抽取出被請求的字的過程,分為三步:1)組選擇,2)行匹配,3)字抽取。
分類:
1.直接對映快取記憶體:每組只有一行(e=1)的快取記憶體。
2.組相連快取記憶體:每個組都儲存多於一行的快取記憶體行(1
3.全相連快取記憶體:由乙個包含所有快取記憶體行的組(即e=c/b)組成。
遇到的問題及解決方法
問題:
磁碟為什麼需要轉兩圈才能讀完乙個扇區?
解決方法:
在提問。因為磁碟有兩面。
家庭作業
6.29
由練習題6.13圖得
(1101111011100)=0x1bdc
(1101111011101)=0x1bdd
(1101111011110)=0x1bde
(1101111011111)=0x1bdf
(0111000110100)=0x0e34
(0111000110101)=0x0e35
(0111000110110)=0x0e36
(0111000110111)=0x0e37
(1100011110000)=0x18f0
(1100011110001)=0x18f1
(1100011110010)=0x18f2
(1100011110011)=0x18f3
(0000010110000)=0x00b0
(0000010110001)=0x00b1
(0000010110010)=0x00b2
(0000010110011)=0x00b3
組2中沒有命中的儲存器位址。
6.30
a.ct
ctct
ctct
ctct
ctci
cico
cob.
操作位址
命中?讀出的值(或未知)
讀0x409否-
寫0x40a是-
讀0x833
是0xd0
參考資料
《深入理解計算機系統》第6章儲存器層次結構。
儲存器層次結構
sram 靜態隨機訪問儲存器 sram儲存穩定,訪問速度快 具有雙穩定特性,一般作為1,2級快取記憶體。dram 動態隨機訪問儲存器 dram儲存不如sram訪問速度快,相比也沒有sram穩定,一般作為主存 記憶體 和圖形系統幀緩衝區。dram晶元中的乙個單元儲存乙個位,w個單元儲存乙個位元組,w個...
儲存器層次結構
電腦程式的乙個基本屬性 區域性性 儲存器層次結構分類 1 cpu暫存器 放在cpu裡面的記憶體,特點 速度快,高 2 快取記憶體儲存器 主儲存器 磁碟。特點 cpu之外,需要時訪問呼叫,相對較慢 兩類ram 1 sram 靜態 1 更快,更貴。2 作為快取記憶體儲存器,主要負責運算需要 3 雙穩態的...
儲存器層次結構
在簡單模型中,儲存器系統是乙個線性的位元組陣列,而cpu能夠在乙個常數時間內訪問每個儲存器的位置。雖然到現在為止沒有任何乙個有效的模型,可以模仿它的工作方式。實際上,儲存器系統是乙個具有不同容量,成本和訪問時間的儲存裝置的層次結構。cpu暫存器儲存最常用的資料。靠近cpu的小的,快速的告訴快取儲存器...