计算机组成原理:储存系统和结构
? ? ? ? ??強烈推薦人工智能學習網站???
? ? ? ? 儲存系統的組成:
? ? ? ? ? ? ? ? 1.按作用分類
? ? ? ? ? ? ? ? ? ? ? ?1>高速緩沖存儲器:位于主存和CPU之間,用來存放正在執行的程序段和數據,以便CPU能高速的訪問它們。其速度可以和CPU速度相匹配。
? ? ? ? ? ? ? ? ? ? ? ?2>主存儲器:存放計算機運行期間所需要的程序和數據,CPU可直接隨機地進行讀/寫訪問。有一定容量,速度較高
? ? ? ? ? ? ? ? ? ? ? ?3>輔助存儲器:存放當前暫時不參與運行的程序和數據以及一些需要永久保存的信息。容量大,成本低,但存取速度較慢。
? ? ? ? ? ? ? ? 2.按存儲方式分類
? ? ? ? ? ? ? ? ? ? ? ?1>隨機存取存儲器(RAM):隨機存儲就是CPU可以對其中的內容隨機地存取,對任何一個存儲單元的寫入和讀出時間是一樣的,與其所處的物理位置無關。主要用作主存,也可用作高速緩沖存儲器。
? ? ? ? ? ? ? ? ? ? ? ?2>只讀存儲器(ROM):存儲器內容只能隨機讀出而不能寫入。信息一旦寫入,即使斷點,內容也不會丟失。如存放BIOS程序。
? ? ? ? ? ? ? ? ? ? ? ?3>順序存取儲存器(SAM):SAM的內容只能順序讀取,存取時間長短與信息在存儲體上的物理位置有關。如磁帶機
? ? ? ? ? ? ? ? ? ? ? ?4>直接存取儲存器(DAM):當要存儲信息時,第一步直接指向整個存儲器中的某個小區域(如磁盤上的磁道);第二步在小區域內順序檢索或等待,直至找到目的地后再進行讀/寫操作。
? ? ? ? ? ? ? ? 3.按存儲介質分類
? ? ? ? ? ? ? ? ? ? ? ?1>磁芯存儲器:采用具有矩形磁滯回線的鐵氧體磁性材料,利用2中不同的剩磁狀態表示"1"或"0"。一棵磁芯存放一個二進制位,成千上萬顆磁芯組成磁芯體。可以長期存儲信息,讀出是破壞性讀出;存儲容量小,速度慢,體積大,可靠性低。
? ? ? ? ? ? ? ? ? ? ? ?2>半導體存儲器:采用半導體器件制造的存儲器,主要有MOS型存儲器和雙極型存儲器兩大類。MOS型集成度高,功耗低,價格便宜,存取速度較慢;雙極性存儲器具有存取速度快,集成度低,功耗大,成本較高等特點。半導體RAM存儲的信息會因為斷電而丟失。
? ? ? ? ? ? ? ? ? ? ? ?3>磁表面存儲器:在金屬或塑料機體上,涂覆一層磁性材料,用磁層儲存信息,如磁帶。其容量大,價格低,存儲速度慢,多用作輔助存儲器。
? ? ? ? ? ? ? ? ? ? ? ?4>光存儲器:采用激光控制訪問的存儲器,儲存容量大,常用輔助存儲器。
? ? ? ? ? ? ? ? 4.按信息的可保存性分類:
? ? ? ? ? ? ? ? ? ? ? ?1>易失性存儲器:斷點后,存儲信息即消失的存儲器。如半導體RAM
? ? ? ? ? ? ? ? ? ? ? ?2>非易失性存儲器:斷點后信息仍保存的存儲器,如ROM。
? ? ? ? ? ? ?存儲系統的層次結構:為了解決存儲容量,存取速度和價格之間的矛盾,通常把各種不同存儲容量,不同存取速度的存儲器,按一定的體系結構組織起來,形成一個統一整體的存儲系統。
? ? ? ? ? ? ??
? ? ? ? ? ? ?上面是多級存儲層次,n中不同的存儲器在邏輯上是一個整體。M1容量小最小,速度最快,價格最高,用于存放最常用的數據;Mn容量最大,速度最低,價格最低,存放最少使用的數據。整個系統具有接近M1的速度,Mn的容量。
? ? ? ? ? ? ??
? ? ? ? ? ? ?圖a為Cache存儲系統,Cache是為解決主存速度不足而提出來的。在Cache和主存之間增加輔助硬件,讓它們構成一個整體。從CPU上看,速度接近Cache的速度,容量是主存的容量,每位價格接近主存的價格。
? ? ? ? ? ? 圖b為虛擬存儲系統是為解決主存容量不足提出來的。在主存和輔存之間,增加輔助軟硬件,讓它們構成一個整體。從CPU上看,速度接近主存的速度,容量是虛擬地址空間,每位價格接近輔存的價格。虛擬存儲系統需要通過操作系統來調控。
?
? ? ? 主存儲器的組織
? ? ? ? ? ? ? 1.主儲存器的基本結構:主存通常由存儲體,地址譯碼驅動電路,I/O和讀寫電路組成。
? ? ? ? ? ? ? ??
? ? ? ? ? ? ?存儲體是主存儲器的核心,程序和數據都存在存儲體中。
? ? ? ? ? ? ?地址譯碼驅動電路實際上包含譯碼器和驅動器兩部分。譯碼器將地址總線輸入的地址碼轉換成與之對應的譯碼輸出線上的有效電平,以表示選中了某一存儲單元,然后由驅動器提供驅動電流去驅動相應的讀寫電路,完成對選中存儲單元的讀寫操作。
? ? ? ? ? ? ? I/O讀寫電路包括讀出放大器,寫入電路和讀寫控制電路,用以完成被選中存儲單元中給位的讀出和寫入操作。
? ? ? ? ? ? ?主存的讀寫操作時在控制器的控制下進行的,只有接收到來自控制器的讀寫命令或寫允許信號后,才能實現正確的讀寫操作。
? ? ? ? 主存儲器的存儲單元
? ? ? ? ? ? ?位:二進制數的最基本單元,也是存儲器存儲信息的最小單位。? ?
? ? ? ? ? ? ?存儲字:一個二進制數由若干個位組成,當這個二進制數作為一個整體存入或取出時,這個數稱為存儲字。
? ? ? ? ? ? ?儲存單元:存放存儲字或存儲字節的主存空間。
? ? ? ? ? ? ?存儲體:大量存儲單元的結合構成一個存儲體。
? ? ? ? ? ? ?存儲地址:為了區別存儲體中的各個存儲單元,必須將它們逐一編號。存儲單元的編號就是地址。
?
? ? ? ? ? ??0x123456 存放在0x40000~0x40003中的情況(12為高字節)
? ? ? ? ? ? 大端:高字節存放在低地址,12 34 56
? ? ? ? ? ? 小端:高字節存放在高地址,56 34 12
??
? ? 主存儲器的主要技術指標
? ? ? ? ? ? ? 儲存容量:對于字節編址的計算機,以字節數來表示存儲容量。如計算機的主存容量為64K*16,表示它有64K個存儲單元,每個存儲單元的字長16位。1K=1024B,16為是2個字節,若用字節數表示,則可記為128K字節。
? ? ? ? ? ? ? 存取速度:主存的存取速度通常由存取時間,存取周期,主存帶寬等來描述
? ? ? ? ? ? ? ? ? ? ? ? 存取時間:指從啟動一次存儲器操作到完成該操作所經歷的時間。
? ? ? ? ? ? ? ? ? ? ? ? 存取周期:主存進行一次完整的讀寫操作所需的全部時間,即連續兩次訪問存儲器操作之間所需的最短時間。一般存儲周期>存取時間,因為在讀寫操作之后,總要有一段恢復內部狀態的時間。
? ? ? ? ? ? ? ? ? ? ? ? 主存帶寬:又稱數據傳輸率,表示每秒從主存進出信息的最大數量,單位是字每秒或字節每秒或位每秒。提高主存帶寬的措施:縮短存取周期;增加存儲字長;增加存儲體
? ? ? ? ? ? ? ? ? ? ? ? ? 可靠性:在規定的時間內,存儲器無故障讀寫的概率
? ? ? ? ? ? ? ? ? ? ? ? ? 功耗:反應存儲器耗電多少,同時也反應了其發熱的程序。
? ? ? ? ?數據在主存中的存放
? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? 字節占8個位,半字16位,單字32位,雙字64位,它們出現的概率相同。
? ? ? ? ? ? ? ? ? ? ?圖a是一種不浪費存儲資源的存放方法,4中不同數據長度一個緊接著上一個存放。這樣的優點是不浪費存儲器資源,主要問題有2個:一是除了訪問一個字節以外,當要訪問一個雙字,一個單字或一個半字時都有可能需要花費兩個存取周期。圖中一個雙字,一個單字或一個半字都有可能跨越2個存儲體存放,這使存儲器的工作速度降低了一半;二是存儲器讀寫控制比較復雜。
? ? ? ? ? ? ? ? ? ? ?圖b又是一種存放方法,每種類型都必須從一個存儲字的起始位置開始存放,而多余的部分浪費不用。這種數據存放方法優點是:訪問某種類型只要一個存取周期,缺點是浪費了寶貴的存儲資源。
? ? ? ? ? ? ? ? ? ? ?圖c是前兩種方法的這種方案,雙字數據(8字節)的起始地址的最末3個二進制位必須為000(8的整數倍),單字數據的起始地址的最末兩位必須為00(4的整數倍)。這種方法也能保證訪問數據只要一個存儲周期,稱為邊界對齊的數據存放方法。? ? ? ? ? ??
?
? ? ? ? RAM記憶單元電路:6管SRAM記憶單元電路,4管DRAM記憶單元電路,單管DRAM記憶單元電路(電路圖可參考教材)
? ? ? ? 動態RAM的刷新:
? ? ? ? ? ? ?刷新間隔:DRAM一直在放電,為了維持DRAM記憶單元 的存儲信息,沒隔一段時間需要進行刷新,這主要根據珊極電容的放電速度,一般選定的最大刷新間隔為2ms或4ms甚至更大。
? ? ? ? ? ? 刷新方式
? ? ? ? ? ? ? ? ? 1>集中刷新方式:在允許的最大時間間隔內,按照存儲芯片容量的大小集中安排若干個刷新周期,刷新時停止讀寫操作。這里的刷新周期是指刷新一行所需的時間,由于刷新過程是假讀的過程,所以刷新周期就等于存取周期。其優點是讀寫操作不受刷新工作的影響,因此系統存取速度較高。缺點是刷新期間必須停止讀寫,這一段時間稱為"死區",而且存儲容量越大,死區越長。
? ? ? ? ? ? ? ? ? 2>分散刷新方式:把刷新操作分散到每個存取周期內進行,此時系統的存儲周期被分為兩部分,前一部分時間進行讀寫操作或保持,后一部分時間進行刷新操作。在一個系統存取周期內刷新存儲矩陣中的一行。這種刷新方式沒有死區,但是它加長了系統的存取周期,降低了整機的速度;二是刷新過于頻繁。
? ? ? ? ? ? ? ? ? 3>異步刷新方式:前述兩種方式的組合,充分利用最大刷新間隔時間,把刷新操作平均分配到整個最大刷新時間內進行,注意是平均分配,分散刷新方式是每個存儲周期刷新一次,這樣可以減少"死區"。
? ? ? ? ? ?刷新控制:解決刷新和CPU訪問存儲器之間的矛盾。通常,當刷新請求和訪問請求同時發生時,應優先進行刷新操作。
? ? ? ? ? ?RAM芯片分析
? ? ? ? ? ? ? ? ?RAM芯片:RAM芯片通過地址線,數據線和控制線與外部連接。地址線是單向輸入的,其數目與芯片容量有關。數據線是雙向的,即可輸入,也可輸出,其數目與數據位數有關。控制線主要有讀寫控制線和片選線兩種,讀寫控制線用來控制芯片是進行讀操作還是寫操作的,片選線用來決定芯片是否被選中。由于DRAM芯片集成度高,容量大,為了減少芯片引腳的數量,DRAM芯片把地址線分成相等的兩部分,分兩次從相同的引腳送入。這樣每增加一條地址線,增加了4倍的容量。
? ? ? ? ? ? ? ? 地址譯碼方式:RAM地址譯碼電路能把地址線送來的地址信號翻譯成對應存儲單元的選擇信號。地址譯碼方式有單譯碼和雙譯碼兩種。
? ? ? ? ? ? ? ? ? ? ? ?1>單譯碼方式
? ? ? ? ? ? ? ? ? ? ? ?2>雙譯碼方式
? ? ? ? 半導體只讀存儲器:ROM的最大優點是具有非易失性,即使電源斷電,ROM中存儲的信息也不會丟失。ROM工作時只能讀出,不能寫入。
? ? ? ? ? ? ? ? ? ROM的類型
? ? ? ? ? ? ? ? ? ? ? ? 掩膜式ROM:內容由半導體制造廠按用戶提出的要求在芯片的生產過程直接寫入,寫入之后任何人無法改變其內容。
? ? ? ? ? ? ? ? ? ? ? ?一次性可編程ROM:允許用戶利用專門的設備寫入自己的程序,一旦寫入,其內容無法改變。
? ? ? ? ? ? ? ? ? ? ? ?可擦除編程ROM:不僅可以由用戶利用編程器寫入信息,而且可以對其內容進行多次改寫。
? ? ? ? ? ? ? ? ? ? ? ?閃速存儲器:允許在操作中被多次擦除或重寫的只讀存儲器。它可以在不加電的情況下長期保存信息,又能在線進行快速擦除與重寫。
? ? ? ? ? ? 主存儲器的連接與控制
? ? ? ? ? ? ? ? ?主存容量的擴展:要組成一個主存,首先要考慮選片的問題,然后就是如何把芯片連起來。將多片組合起來常用位擴展法,字擴展法,字和位同時擴展法。
? ? ? ? ? ? ? ? ? ? ? ? 位擴展:只在位數方向擴展(加大字長),而芯片的的字數和存儲器的字數是一致的。位擴展的連接方式?是將各存儲芯片的地址線,片選線和讀寫線相應地并聯起來,而將各芯片的數據線單獨列出。當CPU訪問該存儲器時,其發出的地址和控制信號同時傳給8個芯片,選中每個芯片的同一單元,相應單元的內容被同時讀至數據總線的各位,或將數據總線上的內容分別同時寫入相應單元。
? ? ? ? ? ? ? ? ? ? ? ?字擴展:僅在字數方向擴展,而位數不變。字擴展將芯片的地址線,數據線,讀寫線并聯,由片選信號來區分各個芯片。
? ? ? ? ? ? ? ? ? ? ? ?字和位同時擴展:當構成容量比較大的存儲器時,往往需要在字數方向和位數方向上同時擴展。
? ? ? ? ? ? 存儲芯片的地址分配和片選:CPU要實現對存儲單元的訪問,首先要選擇存儲芯片,即進行片選;然后再從選中的芯片中依地址碼選擇出相應的存儲單元,以進行數據的存取,這稱為字選。片內的字選是由CPU送出的N條低位地址線完成的,地址線直接接到所有存儲芯片的地址輸入端。而儲存芯片的片選信號則大多是通過高位地址譯碼或直接連接產生的。片選信號的產生可細分為線選法,全譯碼法和部分譯碼法。
? ? ? ? ? ? ? ? ? ?線選法:用除片內地址外的高位地址線直接分別接至各個存儲芯片的片選端,當某地址線信息為"0"時,就選中與之對應的存儲芯片
? ? ? ? ? ? ? ? ? ?全譯碼法:除片內地址的全部高位地址線都作為地址譯碼器的輸入,譯碼器的輸出做出各芯片的片選信號,將它們分別接到存儲芯片的片選端,以實現對存儲芯片的選擇。
? ? ? ? ? ? ? ? ? ?部分譯碼:用除片內尋址外的高位地址的一部分來譯碼產生片選信號。如用4片2K*8的存儲芯片組成8K*8存儲器,需要4個片選信號,因此只需要用兩位地址線來譯碼產生。
? ? ? ? ? 主存儲器和CPU的連接
? ? ? ? ? ? ? ? ?主存和CPU之間的硬連接:主存與CPU硬連接有3組線,地址總線(AB),數據總線(DB),控制總線(CB)。
? ? ? ? ? ? ? ? ?主存的校驗
? ? ? ? ? ? ? ? ? ? ? ? 主存的奇偶校驗:每個儲存單元中共存儲9位信息(其中8位數據,1位奇偶校驗位),信息中的"1"的個數總是奇數。
? ? ? ? ? ? ? ? ? ? ? ? 錯誤檢驗和校正(ECC):ECC主存用一組附加數據位來存儲一個特殊碼,稱為"校驗和"。對每個二進制都有相應的ECC碼。產生的ECC碼所需的位數取決于系統所用的字長。
? ? ? ?
?
參考資料:<<計算機組成原理>> 蔣本珊
?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的计算机组成原理:储存系统和结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络:分组交换
- 下一篇: redis源码客户端和服务端通信过程