第六章 存儲器層次結構
6.1.1随機通路存儲器 RAM
SRAM和DRAM存儲器的特性:
隻要有供電,SRAM就會保持不變,與DRAM不同,它不需要重新整理。SRAM的存取更快,抗幹擾能力更強,代價是SRAM更貴,功耗更大。
非易失性存儲器ROM
RAM在斷電後會丢失資訊,ROM即使斷電也能儲存着資訊。ROM中有的類型既可以讀又可以寫,但整體上稱為隻讀存儲器。
ROM是以它們能夠被重程式設計的次數和進行重程式設計所用機制進行區分的:
存儲在ROM裝置中的程式通常稱為 固件,一個計算機系統通電後,會運作固件,一些系統在固件中提供了少量基本的輸入和輸出函數,如PC和BIOS。複雜的裝置也依賴固件翻譯來自CPU的I/O輸入輸出請求。
通路主存
總線是一組并行的導線,能攜帶位址、資料和控制信号。
1.靜态RAM
SRAM将每個位存儲在一個雙穩态的存儲器單元裡。每個單元是用一個六晶體電路來實作的。這個電路有這樣一個屬性,它可以無期限地保持在兩個不同的電壓配置或狀态之一。其他的任何狀态都是不穩定的——從不穩定狀态開始,電路會迅速地轉移到穩定狀态中的一個。這樣一個存儲器單元雷士倒轉的鐘擺。
2.動态RAM
DRAM将每個位存儲為對一個電容的充電。這個電容非常小,通常隻有大約30毫微微法拉。DRAM存儲器可以制造得非常緊密,但是,與SRAM不同,DRAM存儲器單元對幹擾非常敏感。當電容的電壓呗擾亂之後,就不會恢複了。暴露在光線下會導緻電容電壓的改變。隻要有供電,SRAM就會保持不變,與DRAM不同,它需要不斷地重新整理。SRAM的存儲比DRAM快。SRAM對諸如光和噪聲這樣的幹擾不敏感。代價是SRAM單元比DRAM單元使用更多的半導體,因而密集度低,而且更貴,功耗更大。
3.傳統的DRAM
DRAM晶片中的單元被分成d個超單元,每個超單元都由w個DRAM單元組成。一個dXw的DRAM總共存儲了dw位資訊。
4.存儲器子產品
DRAM晶片包裝在存儲器子產品中,它是插到主機闆的擴充槽上的。
最常見的包裝包括168個引腳的雙列直插存儲器子產品,它以64位為塊傳送資料到存儲控制器和從存儲器傳出資料,還包括72個引腳的單列直插存儲器子產品,它以32位為塊傳送資料。
5.增強的DRAM
每種都是基于傳統的DRAM單元,并進行了一些優化,改進了通路基本DRAM單元的速度。
快頁模式DRAM:
傳統的DRAM将超單元的一整行拷貝到它的内部緩沖區中,使用一個,然後丢棄剩餘的。
擴充資料輸出DRAM:
FPM DRAM的一個增強的形式,它允許單獨的CAS信号在實際上靠得更緊密一點。
同步DRAM:
SDRAM能夠比那些異步的存儲器更快地輸出超單元的内容。
雙倍資料速率同步DRAM:
DDRSDRAM是對SDRAM的一種增強,它通過使用兩個時鐘沿作為控制信号,進而使DRAM的速度翻倍。
Rambus DRAM:
這是另一種私有技術,它的最大帶寬比DDR SDRAM的更高。
視訊RAM:
它用在圖形系統的幀緩沖區中。
6.1.2 磁盤存儲
1.磁盤制造
每個表面是由一組稱為磁道(track)的同心圓組成;每個磁道被劃分成一組扇區(sector);每個扇區包含相等數量的資料位(通常是512位元組);這些資料編碼在扇區上的磁性材料中。扇區之間由一些間隙(gap)分隔開,這些間隙中不存在資料位。間隙存儲用來辨別扇區的格式化位。
2.磁盤容量
磁盤容量是由以下技術因素決定的:
記錄密度
磁道密度
面密度
旁注:對于與DRAM和SRAM容量相關的機關,通常K = 210,M = 220,G = 230,對于磁盤和網絡這樣的I/O裝置容量相關的機關,通常K = 103,M = 106,G = 109。
3磁盤操作
(1)任何時刻,所有的讀寫頭都位于同一柱面上。
(2)在傳動臂末端的讀/寫頭在磁盤表面高度約0.1微米處一層薄薄的氣墊上飛翔,速度大約為80km/h。磁盤以扇區大小的塊來讀寫資料。
(3)對扇區的通路時間有三個主要部分組成:
1.尋道時間(seek time):為了讀取某個目标扇區的内容,傳動臂把讀/寫頭首先定位到包含目标扇區的磁道上。所需時間即為尋道時間,約等于最大旋轉時間。
2.旋轉時間(rotational latency):定位到期望的磁道後,驅動器等待目标扇區的第一個位旋轉到讀/寫頭下。
Tmax rotation = 1/最大旋轉數率
Tavg rotation = (1/2) × Tmax rotation
3.傳送時間(transfer time):Tavg transfer = (1/最大旋轉數率) × (1/每磁道的平均扇區數)
邏輯磁盤塊
現代磁盤構造複雜,有多個盤面,這些盤面上有不同的記錄區。為了對作業系統隐藏這樣的複雜性,現代磁盤将它們的構造簡化為一個b個扇區大小的邏輯塊的序列,編号為0,1,2,...b-1。磁盤中有一個小的硬體/固件裝置,稱為磁盤控制器,維護着邏輯塊号的和實際(實體)磁盤扇區之間的映射關系。
連接配接到I/O裝置通路磁盤商用磁盤的剖析
6.1.3 固态硬碟SSD
磁盤構造:磁盤由盤片構成,表面覆寫着磁性記錄材料,中央有一個可以旋轉的主軸 ,旋轉速率大約為5400-15000每分鐘。磁盤的每個表面是一組稱為磁道的同心圓組成,每個磁道被劃分為一組扇區,扇區之間由一些間隙隔開,間隙存儲用來辨別扇區的格式化位。
6.2局部性
局部性原理:時間局部性、空間局部性,有能力者了解一下p429最後一段“存儲器山”
一個編寫良好的計算機程式常常具有良好的局部性,也就是說,他們傾向于引用鄰近于其他最近引用過的資料項的資料項,或者最近引用過的資料項本身。這種傾向性,稱為局部性原理,是一個持久的概念
(1)時間局部性:在一個具有良好時間局部性的程式中,被引用過一次的存儲器位置很可能在不遠的将來再被多次引用
(2)空間局部性:在一個具有良好空間局部性的程式中,如果一個存儲器位置被引用了一次,那麼程式很可能在不遠的将來引用附近的一個存儲器位置
有良好局部性的程式比局部性差的程式運作的更快資料 引用局部性 取指令局部性
邏輯磁盤塊:
現代磁盤将盤面的構造視為一個B個扇區大小的邏輯塊序列,磁盤控制器維護着邏輯塊号和實際磁盤扇區之間的映射關系。邏輯塊号可識别為一個盤面、磁道、扇區三元組,唯一的辨別了相對應的實體扇區。記憶體可以看成位元組數組、磁盤可以看成塊數組。
連接配接到I/O裝置:所有的I/O裝置都是通過I/O總線連接配接到CPU和主記憶體。有三種不同類型:
通用串行總線:一個廣泛的使用标準,用于連接配接各種外圍I/O裝置。
圖形卡(或擴充卡):包含硬體和軟體邏輯,代表CPU在顯示器上畫像素。
主機總線擴充卡: 将一個或者多個磁盤連接配接到I/O總線,使用一個特别的主機總線接口定義的通信協定。