算機(jī)組成原理——外存、SSD、Cache)
前言本節(jié)核心三大模塊機(jī)械磁盤磁表面存儲(chǔ)器、固態(tài)硬盤 SSD、高速緩存 Cache。計(jì)組側(cè)重硬件結(jié)構(gòu)、性能計(jì)算操作系統(tǒng)側(cè)重磁盤調(diào)度、頁面管理兩科知識(shí)點(diǎn)可互通但考察重點(diǎn)不同。磁盤、RAID、SSD、Cache 均為選擇、計(jì)算題高頻考點(diǎn)Cache 是本章重中之重。一、磁表面存儲(chǔ)器機(jī)械硬盤 / 磁帶1.底層讀寫原理寫入原理盤 / 磁帶表面涂磁性磁粉讀寫頭是電磁鐵線圈通入不同方向電流鐵芯磁極改變磁化磁粉形成兩種磁化狀態(tài)規(guī)定左南右北 0左北右南 1以此存儲(chǔ)二進(jìn)制。讀取原理切割磁感線磁介質(zhì)劃過磁頭磁場變化在線圈產(chǎn)生不同方向電流電路解析出 0/1。核心硬件特性讀寫最小單位1bit串行讀寫主機(jī)并行 8bit 字節(jié)需串并轉(zhuǎn)換電路讀寫不能同時(shí)進(jìn)行磁表面存儲(chǔ)器優(yōu)缺點(diǎn)? 優(yōu)點(diǎn)存儲(chǔ)容量大單位成本低介質(zhì)可反復(fù)擦寫斷電數(shù)據(jù)長期保存支持脫機(jī)移動(dòng)存儲(chǔ)非破壞性讀出讀取不改變磁化狀態(tài)無需刷新再生。? 缺點(diǎn)存取速度慢依賴機(jī)械運(yùn)動(dòng)機(jī)械結(jié)構(gòu)復(fù)雜故障率更高易受強(qiáng)磁場干擾數(shù)據(jù)丟失。補(bǔ)充磁盤同時(shí)屬于輸入、輸出設(shè)備。2. 機(jī)械磁盤硬件結(jié)構(gòu)整體分為磁盤驅(qū)動(dòng)器機(jī)械部分 磁盤控制器電路板 IO 接口驅(qū)動(dòng)器機(jī)械組成馬達(dá)主軸帶動(dòng)所有盤片勻速旋轉(zhuǎn)多層盤片正反兩面涂磁介質(zhì)單面 / 雙面均可存儲(chǔ)磁頭臂可徑向內(nèi)外移動(dòng)每個(gè)記錄面對應(yīng)獨(dú)立讀寫磁頭讀寫磁頭完成 1bit 串行讀寫。磁盤存儲(chǔ)分區(qū)專業(yè)名詞磁道單個(gè)盤面一圈環(huán)形磁介質(zhì)同心圓柱面所有盤片同一半徑位置的全部磁道垂直組成一個(gè)柱面柱面號(hào) 磁道徑向位置扇區(qū)單條磁道切分扇形小塊主機(jī)讀寫最小單位是扇區(qū)磁頭一個(gè)盤面對應(yīng)一個(gè)磁頭盤面號(hào)用來選擇激活對應(yīng)磁頭。磁盤控制器IO 接口芯片實(shí)現(xiàn)磁盤與主機(jī)的數(shù)據(jù)交互常見標(biāo)準(zhǔn)IDE (ATA)、SATA串行 ATA主流。3. 磁盤核心性能指標(biāo)計(jì)算題重點(diǎn)1容量格式化 / 非格式化容量?非格式化磁盤物理理論最大比特容量?格式化劃分扇區(qū)后預(yù)留備用壞扇區(qū)、控制標(biāo)識(shí)格式化容量 非格式化容量。2記錄密度3 類道密度磁盤半徑方向單位長度磁道數(shù)量位密度單條磁道單位長度可存儲(chǔ)比特外圈磁道長、位密度低內(nèi)圈磁道短、位密度高磁盤容量由內(nèi)圈位密度上限決定所有扇區(qū)存儲(chǔ)比特?cái)?shù)統(tǒng)一面密度 道密度 × 位密度。3平均存取時(shí)間必考計(jì)算完整讀寫一扇區(qū)分為三階段尋道時(shí)間 Ts磁頭臂移動(dòng)到目標(biāo)柱面機(jī)械動(dòng)作耗時(shí)最長題目直接給平均值旋轉(zhuǎn)延遲 Tr盤片旋轉(zhuǎn)等待目標(biāo)扇區(qū)轉(zhuǎn)到磁頭下方平均延遲 磁盤旋轉(zhuǎn)半圈時(shí)間由轉(zhuǎn)速計(jì)算。傳輸時(shí)間 Tt扇區(qū)完整劃過磁頭完成數(shù)據(jù)讀寫可選附加控制器延遲 Tc控制電路收發(fā)指令耗時(shí)總平均存取時(shí)間 平均尋道時(shí)間 平均旋轉(zhuǎn)延遲 單扇區(qū)傳輸時(shí)間 控制器延遲4數(shù)據(jù)傳輸率單位時(shí)間磁盤向主機(jī)傳輸數(shù)據(jù)量公式每秒轉(zhuǎn)速 × 每條磁道總字節(jié)數(shù)。4. 磁盤地址編碼定位扇區(qū)完整地址 4 段依次驅(qū)動(dòng)器號(hào) → 柱面號(hào) → 盤面號(hào) → 扇區(qū)號(hào)驅(qū)動(dòng)器號(hào)區(qū)分電腦內(nèi)多塊硬盤柱面號(hào)控制磁頭臂徑向移動(dòng)到對應(yīng)磁道盤面號(hào)選擇激活對應(yīng)盤面的讀寫磁頭扇區(qū)號(hào)盤片旋轉(zhuǎn)時(shí)定位目標(biāo)扇區(qū)。計(jì)算題考法給出各部分?jǐn)?shù)量計(jì)算每段地址所需二進(jìn)制位數(shù)。5. RAID 廉價(jià)冗余磁盤陣列作用多塊磁盤組合提升讀寫速度 數(shù)據(jù)容錯(cuò)備份RAID 0條帶化?邏輯連續(xù)數(shù)據(jù)拆分條帶分散存儲(chǔ)在多塊磁盤并行讀寫速度大幅提升?無冗余、無校驗(yàn)任意磁盤損壞全部數(shù)據(jù)丟失?優(yōu)點(diǎn)速度最快磁盤利用率 100%缺點(diǎn)無容錯(cuò)。RAID 1鏡像?兩塊磁盤存完全相同副本?讀可并行加速一塊盤損壞另一塊完整備份?缺點(diǎn)磁盤利用率僅 50%存儲(chǔ)成本翻倍。RAID 2?按比特拆分?jǐn)?shù)據(jù)搭配海明校驗(yàn)磁盤?可自動(dòng)糾正單比特錯(cuò)誤、檢測雙比特錯(cuò)?冗余開銷比 RAID1 低商用極少使用。RAID3/4/5拓展了解編號(hào)越大校驗(yàn)冗余占用存儲(chǔ)空間越少容錯(cuò)能力更強(qiáng)企業(yè)云存儲(chǔ)常用。考點(diǎn)總結(jié)RAID0 無容錯(cuò)RAID1 鏡像容錯(cuò)高編號(hào) RAID 平衡成本與可靠性。二、固態(tài)硬盤 SSD閃存盤1.底層基礎(chǔ)存儲(chǔ)介質(zhì)閃存 Flash電可擦除 ROM EEPROMU 盤、SSD 同原理整體兩大模塊閃存翻譯層 閃存芯片陣列。2. 閃存內(nèi)部層級(jí)結(jié)構(gòu)芯片 → 塊 (block) → 頁 (page)讀寫單位頁等價(jià)機(jī)械盤扇區(qū)擦除單位塊整頁有數(shù)據(jù)不能單獨(dú)覆寫必須整塊擦除規(guī)則一頁擦除后可多次讀、僅能寫入一次重復(fù)寫必須擦除整塊。覆寫流程將塊內(nèi)其他有效頁復(fù)制到空閑新塊擦除原整塊寫入更新數(shù)據(jù)閃存翻譯層修改邏輯→物理地址映射。3. 閃存翻譯層核心功能接收主機(jī)邏輯塊號(hào)邏輯地址映射到閃存物理頁維護(hù)地址映射表數(shù)據(jù)遷移后自動(dòng)更新映射實(shí)現(xiàn)磨損均衡。4. SSD vs 機(jī)械硬盤 對比? SSD 優(yōu)勢無機(jī)械結(jié)構(gòu)隨機(jī)訪問速度極快無尋道、旋轉(zhuǎn)延遲無噪音、抗震耐摔功耗更低。? SSD 劣勢單位存儲(chǔ)價(jià)格更高閃存塊擦寫次數(shù)存在壽命上限反復(fù)擦寫會(huì)損壞塊機(jī)械硬盤無擦寫壽命限制。5. 磨損均衡技術(shù)必考目的均勻分散擦寫操作避免同一塊頻繁擦寫快速老化延長 SSD 壽命動(dòng)態(tài)磨損均衡每次寫入優(yōu)先選擇擦除次數(shù)少的空閑塊靜態(tài)磨損均衡后臺(tái)自動(dòng)遷移冷數(shù)據(jù)只讀、極少寫入到老舊塊高頻寫入數(shù)據(jù)分配給新塊。三、高速緩存 Cache本章重中之重選擇 計(jì)算題高頻1.引入 Cache 的根本原因CPU 運(yùn)算速度遠(yuǎn)快于主存 DRAM二者速度差距大解決方案在 CPU 內(nèi)部集成高速 SRAM 作為 Cache緩存近期使用指令 / 數(shù)據(jù)減少訪問慢速主存。?CacheSRAM速度極快、成本高、容量小?主存DRAM速度慢、廉價(jià)、容量大。2. 理論基礎(chǔ)程序局部性原理Cache 能生效的核心1時(shí)間局部近期訪問的指令 / 數(shù)據(jù)短期內(nèi)會(huì)再次重復(fù)訪問循環(huán)、變量反復(fù)讀寫。2空間局部當(dāng)前訪問地址周邊相鄰地址短期內(nèi)大概率被訪問數(shù)組順序存儲(chǔ)、指令連續(xù)存放。反例按列遍歷二維數(shù)組跳躍訪問空間局部性差Cache 命中率低程序運(yùn)行慢。3. Cache 工作流程CPU 訪問數(shù)據(jù)優(yōu)先查詢 Cache命中數(shù)據(jù)存在 Cache直接高速讀取不命中缺失訪問慢速主存同時(shí)將該數(shù)據(jù)所在整塊調(diào)入 Cache利用空間局部。核心指標(biāo)命中率 HCPU 訪問時(shí)數(shù)據(jù)在 Cache 的概率缺失率 1-H平均訪問時(shí)間計(jì)算兩種出題模型模型 1先查 Cache不命中再訪問主存T 平均 H×Tc (1-H)×(Tc Tm)TcCache 訪問時(shí)間Tm主存訪問時(shí)間模型 2Cache、主存同時(shí)并行訪問T 平均 H×Tc (1-H)×Tm并行模型平均耗時(shí)更低做題必須區(qū)分題干描述。主存與 Cache 分塊規(guī)則1.主存、Cache 劃分為大小完全相等的塊2.數(shù)據(jù)交換最小單位塊3.主存地址拆分主存塊號(hào) 塊內(nèi)地址4.術(shù)語區(qū)分主存塊 頁面Cache 塊 Cache 行5. Cache 三大核心待解決問題后續(xù)課時(shí)映射方式主存塊如何對應(yīng)存放至 Cache 塊直接 / 全相聯(lián) / 組相聯(lián)替換算法Cache 存滿新主存塊調(diào)入時(shí)淘汰哪一塊寫一致性策略Cache 副本與主存原始數(shù)據(jù)同步更新寫直達(dá)、寫回。整體復(fù)習(xí)思維導(dǎo)圖速記1.外存磁表面磁盤讀寫原理→硬件結(jié)構(gòu)→性能指標(biāo)→RAID 陣列SSD 閃存塊 / 頁結(jié)構(gòu)、磨損均衡、機(jī)械盤對比2.Cache局部性原理→命中 / 缺失→平均訪問時(shí)間計(jì)算→分塊機(jī)制