2008年下半年系分專題(計算機(jī)硬件基礎(chǔ)知識三)

字號:

存儲器系統(tǒng):
    概述:
    計算機(jī)中的存儲系統(tǒng)是用來保存數(shù)據(jù)和程序的。對存儲器最基本的要求就是存儲容量要大、存取速度快、成本價格低。為了滿足這一要求,提出了多級存儲體系結(jié)構(gòu)。一般可分為高速緩沖存儲器、主存、外存3個層次,有時候還包括CPU內(nèi)部的寄存器以及控制存儲器。
    ◆ 衡量存儲器的主要因素:存儲器訪問速度、存儲容量和存儲器的價格;
    ◆ 存儲器的介質(zhì):半導(dǎo)體、磁介質(zhì)和光存儲器。
    ◆ 存儲器的組成:存儲芯片+控制電路(存儲體+地址寄存器+數(shù)據(jù)緩沖器+時序控制);
    ◆ 存儲體系結(jié)構(gòu)從上層到下層離CPU越來越遠(yuǎn)、存儲量越來越大、每位的價格越來越便宜,而且訪問的速度越來越慢
    存儲器系統(tǒng)分布在計算機(jī)各個不同部件的多種存儲設(shè)備組成,位于CPU內(nèi)部的寄存器以及用于CU的控制寄存器。內(nèi)部存儲器是可以被處理器直接存取的存儲器,又稱為主存儲器,外部存儲器需要通過I/O模塊與處理器交換數(shù)據(jù),又稱為輔助存儲器,彌補(bǔ)CPU處理器速度之間的差異還設(shè)置了CACHE,容量小但速度極快,位于CPU和主存之間,用于存放CPU正在執(zhí)行的程序段和所需數(shù)據(jù)。
    整個計算機(jī)的存儲器體系結(jié)構(gòu):
    通用寄存器堆—指令和數(shù)據(jù)緩沖?!狢ache(靜態(tài)隨機(jī)存儲器RAM)—主存儲器(動態(tài)隨機(jī)存儲器DRAM)—聯(lián)機(jī)外部存儲器(磁盤存儲器)—脫機(jī)外部存儲器(磁帶、光盤存儲器)
    通常衡量主存容量大小的單位是字節(jié)或者字,而外存的容量則用字節(jié)來表示。字是存儲器組織的基本單元,一個字可以是一個字節(jié),也可以是多個字節(jié)。
    信息存取方式:信息的存取方式影響到存儲信息的組織,常用的有4種,
    ◆順序存取
    存儲器的數(shù)據(jù)是以記錄的形式進(jìn)行組織,對數(shù)據(jù)的訪問必須按特定的線性順序進(jìn)行。磁帶存儲器的存取方式就是順序存取。
    ◆直接存取
    共享讀寫裝置,但是每個記錄都有一個的地址標(biāo)識,共享的讀寫裝置可以直接移動到目的數(shù)據(jù)塊所在位置進(jìn)行訪問。因此存取時間也是可變的。磁盤存儲器采用的這種方式。
    ◆隨機(jī)存取
    存儲器的每一個可尋址單元都具有地址和讀寫裝置,系統(tǒng)可以在相同的時間內(nèi)對任意一個存儲單元的數(shù)據(jù)進(jìn)行訪問,而與先前的訪問序列無關(guān)。主存儲器采用的是這種方式。
    ◆相聯(lián)存取
    也是一種隨機(jī)存取的形式,但是選擇某一單元進(jìn)行讀寫是取決于其內(nèi)容而不是其地址。Cache可能采用該方法進(jìn)行訪問。
    衡量存儲器系統(tǒng)性能的指標(biāo)有以下幾種:
    Ø 存取時間:一次讀/寫存儲器的時間
    Ø 存儲器帶寬:每秒能訪問的位數(shù)。
    Ø 存儲器周期:兩次相鄰的存取之間的時間
    Ø 數(shù)據(jù)傳輸率:每秒鐘數(shù)據(jù)傳輸?shù)腷it數(shù)目。
    主存儲器:
    主存儲器是指能由CPU直接編程訪問的存儲器,它存放需要執(zhí)行的程序與需要處理的數(shù)據(jù)。因?yàn)樗ǔN挥谒^主機(jī)的范疇,常稱為內(nèi)存。如果內(nèi)存的地址為n位,容量為2的n次。
    主存儲器的種類很多,主要有:
    Ø 隨機(jī)存儲器(RAM):可以讀出和寫入,隨機(jī)訪問存取,斷電消失
    Ø 只讀存儲器(ROM):只能讀出原有的內(nèi)容,不能寫入新內(nèi)容
    Ø 可編程ROM(PROM)
    Ø 可擦除PROM(EPROM)
    Ø 電可擦除PROM(E2PROM)
    Ø 閃速存儲器(flash memory)
    實(shí)際的存儲器總是由一片或多片存儲芯片配以控制電路組成的,其容量往往是W×B來表示。W表示該存儲器的存儲單元(word)的數(shù)量,而B表示每一個word由多少bit組成。
    輔助存儲器:
    由于主存容量有限(受地址位數(shù)、成本、速度等因素制約),在大多數(shù)計算機(jī)系統(tǒng)中設(shè)置一級大容量存儲器作為對主存的補(bǔ)充與后援。它們位于主機(jī)的邏輯范疇之外,常稱為外存儲器,簡稱外存。
    外存的特點(diǎn)是容量大、可靠性高、價格低,主要有兩大類。
    ◆磁表面存儲器:這類外存儲器主要包括磁帶和磁盤存儲器。
    ▲磁帶
    磁帶存儲設(shè)備是一種順序存取的設(shè)備,存取時間較長,但存儲容量大。磁帶上的信息是以文件塊的形式存放的,而且便于攜帶,價格便宜。按它的讀寫方式可分為兩種:啟停式和數(shù)據(jù)流。
    ▲磁盤存儲器
    磁盤存儲器是目前應(yīng)用最廣泛的外存儲器。它存取速度較快,具有較大的存儲容量,適用于調(diào)用較頻繁的場合,往往作為主存的直接后援,為虛擬存儲提供了物理基礎(chǔ)??煞譃檐洷P和硬盤。
    ◆光存儲器
    光盤存儲器是利用激光束在記錄表面存儲信息,根據(jù)激光束的反射光來讀出信息。按照它的記錄原理可分為形變型、相變型(晶相結(jié)構(gòu))和磁光型。有CD、CD-ROM、WORM、EOD等。
    CD-ROM:只讀光盤,只能一次性寫入數(shù)據(jù),由生產(chǎn)廠家將數(shù)據(jù)寫入,永遠(yuǎn)保存
    CD-WO:可由用戶寫入一次,寫入后不能修改或擦除,但是可以多次讀出
    CD-MO:可改寫光盤,可以讀出也可以寫入數(shù)據(jù);
    光盤存儲器的特點(diǎn):
    大容量、標(biāo)準(zhǔn)化、相容性、持久性、實(shí)用性
    輔助存儲器方面的計算:
    1.存儲容量為capacity=n*t*s*b,n為存放數(shù)據(jù)的總盤面數(shù);t為每面的磁道數(shù);s為每道的扇區(qū)數(shù);b為每個扇區(qū)存儲的字節(jié)數(shù)
    2.尋道時間為磁頭移動到目標(biāo)磁道所需的時間。
    3.等待時間為待讀寫的扇區(qū)旋轉(zhuǎn)到磁頭下方所用的時間。一般用磁道旋轉(zhuǎn)一周所用的時間的一半作為平均等待時間。
    4.磁盤存取時間=尋道時間+等待時間。
    5.位密度:沿磁道方向,單位長度存儲二進(jìn)制信息的個數(shù);
    6.道密度:沿磁盤半徑方向,單位長度內(nèi)磁道的數(shù)目;
    7. 數(shù)據(jù)傳輸速率R=B/T,B為一個磁道上記錄的字節(jié)數(shù),T為每轉(zhuǎn)一周的時間
    8.磁帶機(jī)的容量計算:(這些公式要熟悉記?。?BR>    數(shù)據(jù)傳輸率=磁帶記錄密度*帶速;
    數(shù)據(jù)塊長度=字節(jié)數(shù)*塊因子/記錄密度+塊間間隔;
    讀N條記錄所需時間T=啟停時間+有效時間+間隔時間;
    例題:
    假設(shè)一個有 3 個盤片的硬盤,共有 4 個記錄面,轉(zhuǎn)速為 7200 轉(zhuǎn)/分,盤面有效記錄區(qū)域的外直徑為 30cm,內(nèi)直徑為 lOcm,記錄位密度為 250位/mm,磁道密度為 8道/mm,每磁道分16個扇區(qū),每扇區(qū) 512字節(jié),則該硬盤的非格式化容量和格式化容量約為__(58)__,數(shù)據(jù)傳輸率約為__(58)__若一個文件超出一個磁道容量,剩下的部分__(60)__。
    (58) A.120MB和1OOMBB.30MB和25MBC. 60MB和50MBD.22.5MB 和 25MB
    (59) A.2356KB/sB.3534KB/sC.7069KB/sD.1178KB/s
    (60) A.存于同一盤面的其它編號的磁道上B.存于其它盤面的同一編號的磁道上
    C.存于其它盤面的其它編號的磁道上D.存放位置隨機(jī)
    58:B 59: D 60: B
    RAID存儲器(廉價磁盤冗余陣列):基本思想是用多個小的磁盤存儲器,通過合理的分布數(shù)據(jù),支持多個磁盤同時進(jìn)行訪問,從而改善磁盤存儲器的性能。其采用的主要技術(shù):
    1. 分塊技術(shù):把數(shù)據(jù)分塊寫到陣列中的磁盤上;
    2. 交叉技術(shù):對分布式的數(shù)據(jù)采用交叉式進(jìn)行讀寫,提高訪問速度;
    3. 重聚技術(shù):對多個磁盤空間重新編址,數(shù)據(jù)按照編址后的空間存放;
    主要特點(diǎn)如下:
    1. 物理上多個磁盤,但操作系統(tǒng)看是一個邏輯磁盤;
    2. 數(shù)據(jù)分布在磁盤陣列中的磁盤存儲器上;
    3. 采用冗余技術(shù)和校驗(yàn)技術(shù)提高可靠性,可恢復(fù)數(shù)據(jù);
    4. RAID速度快、容量大、功耗低、價格便宜、容易擴(kuò)展。
    RAID0:無冗余、無校驗(yàn),具有的I/O性能和的磁盤空間利用率
    RAID1:磁盤鏡像、磁盤利用率50%,具有的安全性
    RAID2:海明碼糾錯、數(shù)據(jù)分塊、并行訪問、適合大批量數(shù)據(jù)、已很少使用
    RAID3:奇偶校驗(yàn)、數(shù)據(jù)分塊、并行訪問、單獨(dú)校驗(yàn)盤
    RAID4:奇偶校驗(yàn)、獨(dú)立存取、單獨(dú)校驗(yàn)盤、適合訪問頻繁、傳輸率低
    RAID5:獨(dú)立存取、無單獨(dú)校驗(yàn)盤、適合訪問頻繁、傳輸率低
    Cache存儲器:(對系統(tǒng)和應(yīng)用程序員都是透明的)(重點(diǎn))
    Cache位于主存儲器與CPU通用寄存器組之間,全部由硬件來調(diào)度,用于提高CPU的數(shù)據(jù)I/O效率,對程序員和系統(tǒng)程序員都是透明的。Cache容量小但速度快,它在計算機(jī)的存儲體系中是訪問速度最快的層次。
    使用Cache改善系統(tǒng)性能的依據(jù)是程序的局部性原理,即程序的地址訪問流有很強(qiáng)的時序相關(guān)性,未來的訪問模式與最近已發(fā)生的訪問模式相似。根據(jù)這一局部性原理,把主存儲器中訪問概率的內(nèi)容存放在Cache中,當(dāng)CPU需要讀取數(shù)據(jù)時就首先在Cache中查找是否有所需內(nèi)容,如果有則直接從Cache中讀取;若沒有再從主存中讀取該數(shù)據(jù),然后同時送往CPU和Cache。
    系統(tǒng)的平均存儲周期t3與命中率h有很密切的關(guān)系,如下的公式:
    t3=h×t1+(1-h)×t2
    其中,t1表示Cache的周期時間,t2表示主存的周期時間。
    當(dāng)CPU發(fā)出訪存請求后,存儲器地址先被送到Cache控制器以確定數(shù)據(jù)是否已在Cache中,若命中則直接對Cache進(jìn)行訪問,否則直接進(jìn)行主存訪問。
    Cache的地址映射是指把主存地址空間映射到Cache地址空間,Cache和主存都使用同樣大小的塊為單位。Cache中常見的映射方法有三種。
    Ø 直接映射:一對一,(不需要替換算法)
    Ø 全相聯(lián)映射:多對多
    Ø 組相聯(lián)映射:將塊劃分成組,主存中的一組與Cache相對應(yīng),根據(jù)高位地址標(biāo)志符來訪問數(shù)據(jù),組相聯(lián)可以允許相同的Block和word標(biāo)志,而tag標(biāo)志不同。
    隨著程序的執(zhí)行,訪問頻繁地區(qū)將逐漸遷移,Cache中的內(nèi)容逐漸變得陳舊,訪問命中率下降,就需要更新內(nèi)容。常用的替換算法有三種。
    Ø 隨機(jī)淘汰法:
    Ø 先進(jìn)先出法FIFO:
    Ø 近期最少使用法LRU:
    對于這個算法可以從整體上把握,每個的優(yōu)點(diǎn)、缺點(diǎn),不需要記算法的過程。
    另外,為了保證環(huán)存在Cache中得數(shù)據(jù)與主存中的內(nèi)容一致,對寫操作來說有以下幾種方法:
    Ø 寫直達(dá):同時
    Ø 寫回:
    Ø 標(biāo)記法
    例題:
    ● 一般來說,Cache 的功能__(53)__。某 32 位計算機(jī)的 cache 容量為 16KB,cache 塊的大小為16B,若主存與 cache 的地址映射采用直接映射方式,則主存地址為 1234E8F8(十六進(jìn)制)的單元裝入的 cache地址為__(54)__。在下列 cache 替換算法中,平均命中率的是__(55)__。
    (53) A.全部由軟件實(shí)現(xiàn)
    B.全部由硬件實(shí)現(xiàn)
    C.由硬件和軟件相結(jié)合實(shí)現(xiàn)
    D.有的計算機(jī)由硬件實(shí)現(xiàn),有的計算機(jī)由軟件實(shí)現(xiàn)
    (54) A. 00 0100 0100 1101 (二進(jìn)制)
    B. 01 0010 0011 0100 (二進(jìn)制)
    C. 10 1000 1111 1000 (二進(jìn)制)
    D. 11 0100 1110 1000 (二進(jìn)制)
    (55) A.先入后出(FILO)算法
    B.隨機(jī)替換(RAND)算法
    C.先入先出(FIFO)算法
    D.近期最少使用(LRU)算法
    虛擬存儲器:(重點(diǎn))(對應(yīng)用程序員透明)
    虛擬存儲系統(tǒng)的作用是給程序員一個更大的虛擬的存儲空間,其容量可遠(yuǎn)遠(yuǎn)超過主存儲器的容量,而與輔助存儲器容量相當(dāng)。
    我們提供給用戶的這個存儲器,即在軟件編程上可以使用的存儲器,就稱為虛擬存儲器。它的容量即虛擬存儲空間,簡稱虛擬空間。面向虛擬存儲器的編程地址稱為虛擬地址,或稱為邏輯地址。與主存和輔助存儲器地址相對應(yīng)。
    為了實(shí)現(xiàn)虛擬存儲器,需將虛擬存儲空間與物理實(shí)存空間,按一定的格式分區(qū)組織管理,根據(jù)管理的方式不同可以分為三種虛擬存儲器:頁式、段式和段頁式。
    Ø 頁式管理:
    Ø 段式管理:
    Ø 段頁式管理:
    此外還可以增加一個小容量的高速存儲器實(shí)現(xiàn)一種快表查詢,而快表和慢表也構(gòu)成了兩級存儲器系統(tǒng)
    另外,與Cache一樣,虛擬存儲器系統(tǒng)還需采用一定的調(diào)度策略實(shí)現(xiàn)主存內(nèi)容的變換,使當(dāng)前需要的程序和數(shù)據(jù)都在主存之中。常用的淘汰算法有:
    Ø FIFO算法:選擇最先進(jìn)入主存的頁面淘汰
    Ø LRU算法:選擇在最近一段時間內(nèi)訪問頻率最低的頁面淘汰