存儲系統的層次結構
1. 【操作系統】01--存儲器的層次結構
操作系統存儲器,如何對存儲器進行有效的管理,直接影響著存儲器的利用率和系統性能。
1、存儲器的層次結構
2、程序的裝入和鏈接
3、連續分配存儲管理方式
4、分頁存儲管理方式
5、分段存儲管理方式
內部碎片和外部碎片
邏輯地址和物理地址
內存分配策略
分頁的地址變換,頁表的使用
分頁和分段的優缺點
1、存儲的層次結構
這個圖不怎麼看的清,總體是三個部分:存儲器的層次結構、程序的裝入和鏈接、連續分配存儲管理方式
====================
(1)內存分配——為每個進程分配一定的內存空間
(2)地址映射——把程序中所用的相對地址轉換成內存的物理地址
(3)內存保護——檢查地址的合法性,防止越界訪問
(4)內存擴充——解決「求大於供」的問題,採用虛擬存儲技術
內存分配
內存分配的主要任務是:為每一道程序分配內存空間,使它們「各得其所」;當程序撤消時,則收回它佔用的內存空間。分配時注意提高存儲器的利用率。
地址映射
目標程序所訪問的地址是邏輯地址集合的地址空間,而內存空間是內存中物理地址的集合,在多道程序環境下,這兩者是不一致的,因此,存儲管理必須提供地址映射功能,用於把程序地址空間中的邏輯地址轉換為內存空間中對應的物理地址。
內存保護
內存保護的任務是確保每道程序都在自己的內存空間運行,互不幹擾。保護系統程序區不被用戶侵犯(有意或無意的),不允許用戶程序讀寫不屬於自己地址空間的數據(系統區地址空間,其他用戶程序的地址空間)。
內存擴充
內存擴充的任務是從邏輯上來擴充內存容量,使用戶認為系統所擁有的內存空間遠比其實際的內存空間(硬體RAM)大的多。
【緩存都在其使用的工具之前,目的是為了減少訪問次數】
2.1 主存儲器
主存儲器是計算機系統中的一個主要部件,用於保存進程運行時的程序和數據,CPU的控制部件只能從主存儲器中取得指令和數據,數據能夠從主存儲器中讀取並將他們裝入到寄存器中,或者從寄存器存入到主存儲器,CPU與外圍設備交換的信息一般也依託於主存儲器地址空間。但是,主存儲器的訪問速度遠低於CPU執行指令的速度,於是引入了寄存機和告訴緩沖。
2.2 寄存器
寄存器訪問速度最快,能與CPU協調工作,價格昂貴,容量不大,寄存器用於加速存儲器的訪問速度,如用寄存器存放操作數,或用作地址寄存器加快地址轉換速度等。
2.3 高速緩存
高速緩存容量大於或遠大於寄存器,但小於內存,訪問速度高於主內存器,根據程序局部性原理,將主存中一些經常訪問的信息存放在高速緩存中, 減少訪問主存儲器的次數 ,可大幅度提高程序執行速度。通常,進程的程序和數據存放在主存,每當使用時,被臨時復制到高速緩存中,當CPU訪問一組特定信息時,首先檢查它是否在高速緩存中,如果已存在,則直接取出使用,否則,從主存中讀取信息。有的計算機系統設置了兩級或多級高速緩存,一級緩存速度最高,容量小,二級緩存容量稍大,速度稍慢。
2.4 磁碟緩存
磁碟的IO速度遠低於對主存的訪問速度,因此將頻繁使用的一部分磁碟數據和信息暫時存放在磁碟緩存中, 可減少訪問磁碟的次數, 磁碟緩存本身並不是一種實際存在的存儲介質,它依託於固定磁碟,提供對主存儲器空間的擴充,即利用主存中的存儲空間,來暫存從磁碟中讀出或寫入的信息,主存可以看做是輔存的高速緩存,因為,輔存中的數據必須復制到主存方能使用,反之,數據也必須先存在主存中,才能輸出到輔存。
主存儲器簡稱 主存或內存 , 用於保存程序運行時的指令和數據.
寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和 地址 .
通常, 處理機從指存中讀出數據放入指令寄存器, 這一時間段我們稱之為取指周期; 處理機從數存中讀取數據放入數據寄存器, 再流入運算器, 這一時間段我們稱之為執行周期.
高速緩存和磁碟緩存:
高速緩沖存儲器是介於寄存器和存儲器之間的存儲器, 主要用於備份主存中較常用的數據, 用來減少處理機對主存儲器的訪問次數, 提高運行效率.
磁碟緩存主要用於暫時存放頻繁使用的一部分磁碟數據和信息, 以減少訪問磁碟的次數.
2. 計算機的存儲系統是指
計算機的存儲系統是指計算機中由存放程序和數據的各種存儲設備、控制部件及管理信息調度的設備(硬體)和演算法(軟體)所組成的系統。
存儲系統是計算機的重要組成部分之一。存儲系統提供寫入和讀出計算機工作需要的信息(程序和數據)的能力,實現計算機的信息記憶功能。現代計算機系統中常採用寄存器、高速緩存、主存、外存的多級存儲體系結構。
計算機存儲系統的核心是存儲器,存儲器是計算機中必不可少、用來存儲程序和數據的記憶設備。內部存儲器(簡稱內存)主要存儲計算機當前工作需要的程序和數據,包括高速緩沖存儲器(Cache,簡稱緩存)和主存儲器。
存儲系統的層次化結構
存儲系統的層次化結構可以分為5級:寄存器組、高速緩存Cache、主存、虛擬存儲器和外部存儲器。其中,寄存器組總是在CPU內部,程序員可通過寄存器名訪問,無匯流排操作,訪問速度最快。
其餘4級均在CPU外部,Cache和主存構成內存儲系統,程序員通過匯流排定址訪問存儲單元,訪問速度較寄存器差;虛擬存儲器對程序員而言是透明的;外部存儲系統容量大,需通過I/O介面與CPU交換數據,訪問速度最慢。
3. 存儲系統包含哪三層
答:一、計算機的多級儲存系統的組成
1、最內層是CPU中的通用寄存器,很多運算可直接在CPU的通用寄存器中進行,減少了CPU與主存的數據交換,很好地解決了速度匹配的問題,但通用寄存器的數量是冊岩有限的一般在幾個到幾百個之間。
2、高速緩沖存儲器設置在CPU和主存之間,可以放在CPU 內部或外部。
3、以上兩層僅解決了速度匹配問題,存儲器的容量仍受到內存容量的制約。巧散
因此,在多級存在儲結構中又增設了輔助存儲器(由磁碟構成)和大容量存儲器(由磁帶構成)。
二、計算機的多級儲存系統的優點
從CPU看來,這個整體的州寬御速度接近於Cache和寄存器的操作速度、容量是輔存的容量,每位價格接近於輔存的位價格。
從而較好地解決了存儲器中速度、容量、價格三者之間的矛盾,滿足了計算機系統的應用需要。
三、存儲層次
1、在計算機系統中存儲層次可分為高速緩沖存儲器、主存儲器、輔助存儲器三級。
2、高速緩沖存儲器用來改善主存儲器與中央處理器的速度匹配問題。
3、輔助存儲器用於擴大存儲空間。
4. 存儲器的結構
1cpu的內部
編輯
存儲器結構
存儲器結構
第一層:通用寄存器堆
第二層:指令與數據緩沖棧
第三層:高速緩沖存儲器
第四層:主儲存器(DRAM)
第五層:聯機外部儲存器(硬磁碟機)
第六層:離線外部儲存器(磁帶、光碟存儲器等)
這就是存儲器的層次結構~~~ 主要體現在訪問速度~~~
2工作特點
編輯
存儲器結構
存儲器結構① 設置多個存儲器並且使他們並行工作。本質:增添瓶頸部件數目,使它們並行工作,從而減緩固定瓶頸。
② 採用多級存儲系統,特別是Cache技術,這是一種減輕存儲器帶寬對系統性能影響的最佳結構方案。本質:把瓶頸部件分為多個流水線部件,加大操作時間的重疊、提高速度,從而減緩固定瓶頸。
③ 在微處理機內部設置各種緩沖存儲器,以減輕對存儲器存取的壓力。增加CPU中寄存器的數量,也可大大緩解對存儲器的壓力。本質:緩沖技術,用於減緩暫時性瓶頸。
一、RAM(Random Access Memory,隨機存取存儲器)
RAM的特點是:電腦開機時,操作系統和應用程序的所有正在運行的數據和程序都會放置其中,並且隨時可以對存放在裡面的數據進行修改和存取。它的工作需要由持續的電力提供,一旦系統斷電,存放在裡面的所有數據和程序都會自動清空掉,並且再也無法恢復。
3具體結構分類
編輯
根據組成元件的不同,RAM內存又分為以下十八種:
01.DRAM(Dynamic RAM,動態隨機存取存儲器)
這是最普通的RAM,一個電子管與一個電容器組成一個位存儲單元,DRAM將每個內存位作為一個電荷保存在位存儲
存儲器結構
存儲器結構單元中,用電容的充放電來做儲存動作,但因電容本身有漏電問題,因此必須每幾微秒就要刷新一次,否則數據會丟失。存取時間和放電時間一致,約為2~4ms。因為成本比較便宜,通常都用作計算機內的主存儲器。
02.SRAM(Static RAM,靜態隨機存取存儲器)
靜態,指的是內存裡面的數據可以長駐其中而不需要隨時進行存取。每6顆電子管組成一個位存儲單元,因為沒有電容器,因此無須不斷充電即可正常運作,因此它可以比一般的動態隨機處理內存處理速度更快更穩定,往往用來做高速緩存。
03.VRAM(Video RAM,視頻內存)
它的主要功能是將顯卡的視頻數據輸出到數模轉換器中,有效降低繪圖顯示晶元的工作負擔。它採用雙數據口設計,其中一個數據口是並行式的數據輸出入口,另一個是串列式的數據輸出口。多用於高級顯卡中的高檔內存。
04.FPM DRAM(Fast Page Mode DRAM,快速頁切換模式動態隨機存取存儲器)
改良版的DRAM,大多數為72PIN或30Pin的模塊。傳統的DRAM在存取一個BIT的數據時,必須送出行地址和列地址各一次才能讀寫數據。而FRM DRAM在觸發了行地址後,如果CPU需要的地址在同一行內,則可以連續輸出列地址而不必再輸出行地址了。由於一般的程序和數據在內存中排列的地址是連續的,這種情況下輸出行地址後連續輸出列地址就可以得到所需要的數據。FPM將記憶體內部隔成許多頁數Pages,從512B到數KB不等,在讀取一連續區域內的數據時,就可以通過快速頁切換模式來直接讀取各page內的資料,從而大大提高讀取速度。在96年以前,在486時代和PENTIUM時代的初期,FPM DRAM被大量使用。
05.EDO DRAM(Extended Data Out DRAM,延伸數據輸出動態隨機存取存儲器)
這是繼FPM之後出現的一種存儲器,一般為72Pin、168Pin的模塊。它不需要像FPM DRAM那樣在存取每一BIT 數據時必須輸出行地址和列地址並使其穩定一段時間,然後才能讀寫有效的數據,而下一個BIT的地址必須等待這次讀寫操作完成才能輸出。因此它可以大大縮短等待輸出地址的時間,其存取速度一般比FPM模式快15%左右。它一般應用於中檔以下的Pentium主板標准內存,後期的486系統開始支持EDO DRAM,到96年後期,EDO DRAM開始執行。。
存儲器結構
存儲器結構06.BEDO DRAM(Burst Extended Data Out DRAM,爆發式延伸數據輸出動態隨機存取存儲器)
這是改良型的EDO DRAM,是由美光公司提出的,它在晶元上增加了一個地址計數器來追蹤下一個地址。它是突發式的讀取方式,也就是當一個數據地址被送出後,剩下的三個數據每一個都只需要一個周期就能讀取,因此一次可以存取多組數據,速度比EDO DRAM快。但支持BEDODRAM內存的主板可謂少之又少,只有極少幾款提供支持(如VIA APOLLO VP2),因此很快就被DRAM取代了。
07.MDRAM(Multi-Bank DRAM,多插槽動態隨機存取存儲器)
MoSys公司提出的一種內存規格,其內部分成數個類別不同的小儲存庫 (BANK),也即由數個屬立的小單位矩陣所構成,每個儲存庫之間以高於外部的資料速度相互連接,一般應用於高速顯示卡或加速卡中,也有少數主機板用於L2高速緩存中。
08.WRAM(Window RAM,窗口隨機存取存儲器)
韓國Samsung公司開發的內存模式,是VRAM內存的改良版,不同之處是它的控制線路有一、二十組的輸入/輸出控制器,並採用EDO的資料存取模式,因此速度相對較快,另外還提供了區塊搬移功能(BitBlt),可應用於專業繪圖工作上。
09.RDRAM(Rambus DRAM,高頻動態隨機存取存儲器)
Rambus公司獨立設計完成的一種內存模式,速度一般可以達到500~530MB/s,是DRAM的10倍以上。但使用該內存後內存控制器需要作相當大的改變,因此它們一般應用於專業的圖形加速適配卡或者電視游戲機的視頻內存中。
10.SDRAM(Synchronous DRAM,同步動態隨機存取存儲器)
這是一種與CPU實現外頻Clock同步的內存模式,一般都採用168Pin的內存模組,工作電壓為3.3V。 所謂clock同步是指內存能夠與CPU同步存取資料,這樣可以取消等待周期,減少數據傳輸的延遲,因此可提升計算機的性能和效率。
11.SGRAM(Synchronous Graphics RAM,同步繪圖隨機存取存儲器)
SDRAM的改良版,它以區塊Block,即每32bit為基本存取單位,個別地取回或修改存取的資料,減少內存整體讀寫的次數,另外還針對繪圖需要而增加了繪圖控制器,並提供區塊搬移功能(BitBlt),效率明顯高於SDRAM。
12.SB SRAM(Synchronous Burst SRAM,同步爆發式靜態隨機存取存儲器)
一般的SRAM是非同步的,為了適應CPU越來越快的速度,需要使它的工作時脈變得與系統同步,這就是SB SRAM產生的原因。
13.PB SRAM(Pipeline Burst SRAM,管線爆發式靜態隨機存取存儲器)
CPU外頻速度的迅猛提升對與其相搭配的內存提出了更高的要求,管線爆發式SRAM取代同步爆發式SRAM成為必然的選擇,因為它可以有效地延長存取時脈,從而有效提高訪問速度。
14.DDR SDRAM(Double Data Rate二倍速率同步動態隨機存取存儲器)
作為SDRAM的換代產品,它具有兩大特點:其一,速度比SDRAM有一倍的提高;其二,採用了DLL(Delay Locked Loop:延時鎖定迴路)提供一個數據濾波信號。這是目前內存市場上的主流模式。
15.SLDRAM (Synchronize Link,同步鏈環動態隨機存取存儲器)
這是一種擴展型SDRAM結構內存,在增加了更先進同步電路的同時,還改進了邏輯控制電路,不過由於技術顯示,
存儲器結構
存儲器結構投入實用的難度不小。
16.CDRAM(CACHED DRAM,同步緩存動態隨機存取存儲器)
這是三菱電氣公司首先研製的專利技術,它是在DRAM晶元的外部插針和內部DRAM之間插入一個SRAM作為二級CACHE使用。當前,幾乎所有的CPU都裝有一級CACHE來提高效率,隨著CPU時鍾頻率的成倍提高,CACHE不被選中對系統性能產生的影響將會越來越大,而CACHE DRAM所提供的二級CACHE正好用以補充CPU一級CACHE之不足,因此能極大地提高CPU效率。
17.DDRII(Double Data Rate Synchronous DRAM,第二代同步雙倍速率動態隨機存取存儲器)
DDRII 是DDR原有的SLDRAM聯盟於1999年解散後將既有的研發成果與DDR整合之後的未來新標准。DDRII的詳細規格目前尚未確定。
18.DRDRAM (Direct Rambus DRAM)
是下一代的主流內存標准之一,由Rambus 公司所設計發展出來,是將所有的接腳都連結到一個共同的Bus,這樣不但可以減少控制器的體積,已可以增加資料傳送的效率。
二、ROM(READ Only Memory,只讀存儲器)
ROM是線路最簡單半導體電路,通過掩模工藝,一次性製造,在元件正常工作的情況下,其中的代碼與數據將永久保存,並且不能夠進行修改。一般應用於PC系統的程序碼、主機板上的 BIOS (基本輸入/輸出系統Basic Input/Output System)等。它的讀取速度比RAM慢很多。
4組成元件分類
編輯
ROM內存又分為以下五種:
存儲器結構
存儲器結構1.MASK ROM(掩模型只讀存儲器)
製造商為了大量生產ROM內存,需要先製作一顆有原始數據的ROM或EPROM作為樣本,然後再大量復制,這一樣本就是MASK ROM,而燒錄在MASK ROM中的資料永遠無法做修改。它的成本比較低。
2.PROM(Programmable ROM,可編程只讀存儲器)
這是一種可以用刻錄機將資料寫入的ROM內存,但只能寫入一次,所以也被稱為「一次可編程只讀存儲器」(One Time Progarmming ROM,OTP-ROM)。PROM在出廠時,存儲的內容全為1,用戶可以根據需要將其中的某些單元寫入數據0(部分的PROM在出廠時數據全為0,則用戶可以將其中的部分單元寫入1), 以實現對其「編程」的目的。
3.EPROM(Erasable Programmable,可擦可編程只讀存儲器)
這是一種具有可擦除功能,擦除後即可進行再編程的ROM內存,寫入前必須先把裡面的內容用紫外線照射它的IC卡上
存儲器結構
存儲器結構的透明視窗的方式來清除掉。這一類晶元比較容易識別,其封裝中包含有「石英玻璃窗」,一個編程後的EPROM晶元的「石英玻璃窗」一般使用黑色不幹膠紙蓋住, 以防止遭到陽光直射。
4.EEPROM(Electrically Erasable Programmable,電可擦可編程只讀存儲器)
功能與使用方式與EPROM一樣,不同之處是清除數據的方式,它是以約20V的電壓來進行清除的。另外它還可以用電信號進行數據寫入。這類ROM內存多應用於即插即用(PnP)介面中。
5.Flash Memory(快閃記憶體)
這是一種可以直接在主機板上修改內容而不需要將IC拔下的內存,當電源關掉後儲存在裡面的資料並不會流失掉,在寫入資料時必須先將原本的資料清除掉,然後才能再寫入新的資料,缺點為寫入資料的速度太慢。