在操心系統基礎4我們已經介紹了OS依賴的重要硬件CPU,下面我們來介紹操心系統依賴的另一類重要部件-内存,這裡說的内存是比較寬泛的概念,是指存儲器(Memory)。
存儲器(Memory)是用來存儲程序和數據的部件。
存儲器的概念很廣,有很多層次,在數字系統中,隻要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在計算機系統中,具有實物形式的存儲設備也叫存儲器,如内存條、TF卡等。計算機中全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。存儲器根據控制器指定的位置存入和取出信息。對于計算機來說,有了存儲器,才有了記憶功能,才能保證正常工作。
存儲器的分類
按存儲器的讀寫方式:(指半導體存儲器)分為 RAM(随機存儲器),ROM(隻讀存儲器),Cache(高速緩存)
RAM
随機存取存儲器(Random Access Memory)又稱作“随機存儲器”,是與CPU直接交換數據的内部存儲器,也叫主存(内存)。它可以随時讀寫,而且速度很快,通常作為操作系統或其他正在運行中的程序的臨時數據存儲媒介。
ROM
隻讀存儲器(Read Only Memory),顧名思義,就是這樣的存儲器隻能讀,不能像RAM一樣可以随時讀和寫。在制造ROM的時候,信息(數據或程序)就被存入并永久保存。這些信息隻能讀出,一般不能寫入,即使機器掉電,這些數據也不會丢失。ROM一般用于存放計算機的基本程序和數據,如BIOS ROM。ROM所存數據,一般是裝入整機前事先寫好的,整機工作過程中隻能讀出,而不像随機存儲器那樣能快速地、方便地加以改寫。ROM所存數據穩定,斷電後所存數據也不會改變。
ROM可以細分為:PROM 可編程程序隻讀内存(Programmable ROM)、EPROM 可抹除可編程隻讀内存(Erasable Programmable ROM)、EEPROM 電子式可抹除可編程隻讀内存(Electrically Erasable Programmable ROM)、快閃存儲器(Flash memory)等。
Cache
高速緩沖存儲器,它位于CPU與内存之間,是一個讀寫速度比内存更快的存儲器。當CPU向内存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問内存,當然,如果需要的數據在Cache中沒有,CPU會再去讀取内存中的數據。
按存儲元的材料:分為半導體存儲器(常做主存)、磁存儲器(磁帶、磁盤)、光存儲器(光盤)
内存條
硬盤
U盤
按和CPU的聯系:分為主存(也叫内存)、輔存(外存)
存儲體系理想的存儲體系應當具有充足的容量和與CPU相匹配的速度。但是實際的存儲器都是非理想化的,其制約因素是價格(每位成本)、容量和速度。這三個基本指标是矛盾的。存儲速度越高,每位成本就越高。随着存儲容量的增大,就得使用速度較低的器件。
合理的分配容量、速度和價格的有效措施是實現分級存儲
分級存儲體系
基本可以劃分四個層次:寄存器、高速緩存、主存、外存
程序訪問的局部性原理
程序訪問的局部性原理是建立多級存儲體系的可行性基礎。它告訴我們,CPU訪問存儲器時,無論是存取指令還是存取數據,所訪問的存儲單元都趨于聚集在一個局部。這個局部包含了3個方面的意義:
(1) 時間局部性:如果一個信息項正在被訪問,那麼在近期他很可能會被再次訪問到。程序循環、堆棧等是産生時間局部性的原因。(2) 空間局部性:在最近的将來将用到的信息很可能與現在正在使用的信息在空間地址上是臨近的。(3) 順序局部性:在典型程序中,除轉移類指令外,大部分指令是順序執行的。此外,對大型數組的訪問也是順序的。指令的順序執行、數組的連續存放等是産生順序局部性的原因。
由于這3個局部性的存在,才有可能将計算機頻繁訪問的信息放在速度較高的存儲器中,而将不頻繁訪問的信息放在速度較低、價格也較低的存儲器中。
假設有一個兩級的存儲系統,第一級容量為1KB,訪問時間為1 us(微妙,一秒的一百萬分之一,即1秒=10^ 6微秒。縮寫為μs(國際單位制允許用字母u代替μ)),第二級容量為1MB,訪問時間為10us。CPU訪問存儲系統時,先訪問第一級,如果信息不在第一級,則有存儲系統先把第二級的信息送到第一級,然後再由CPU從第一級中讀取。如果100%的信息都可以從第一級中得到,則整個存儲系統的平均訪問時間就等于第一級存儲器的訪問時間1us。如果在第一級中能得到的信息的百分比下降,則平均訪問時間就要加長。利用訪問的局部性,可以是訪問第一級的存儲器的百分比很高,整個層次存儲系統的平均訪問時間可以很接近第一級的訪問時間。
命中率(Hit Rate)在層次結構的存儲系統中,某一級的命中率是指對該存儲器來說,要訪問的信息正好在這一級的概率,用命中的訪問數與總訪問次數之比計算, 用H表示命中率。其中,最主要的是指CPU産生的邏輯地址能在最高級的存儲器中訪問到的概率。
在基于訪問的局部性原理而實現的存儲器層次體系中,如果存儲器的容量足夠大、系統調度得當,可以獲得較高的命中率 H
CPU訪問存儲
命中(HIT)、沒有命中(MISS)、缺頁(PAGE_FAULT)
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!