A. 存儲器的原理是什麼
存儲器講述工作原理及作用
介紹
存儲器(Memory)是現代信息技術中用於保存信息的記憶設備。其概念很廣,有很多層次,在數字系統中,只要能保存二進制數據的都可以是存儲器;在集成電路中,一個沒有實物形式的具有存儲功能的電路也叫存儲器,如RAM、FIFO等;在系統中,具有實物形式的存儲設備也叫存儲器,如內存條、TF卡等。計算機中全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。它根據控制器指定的位置存入和取出信息。有了存儲器,計算機才有記憶功能,才能保證正常工作。計算機中的存儲器按用途存儲器可分為主存儲器(內存)和輔助存儲器(外存),也有分為外部存儲器和內部存儲器的分類方法。外存通常是磁性介質或光碟等,能長期保存信息。內存指主板上的存儲部件,用來存放當前正在執行的數據和程序,但僅用於暫時存放程序和數據,關閉電源或斷電,數據會丟失。
2.按存取方式分類
(1)隨機存儲器(RAM):如果存儲器中任何存儲單元的內容都能被隨機存取,且存取時間與存儲單元的物理位置無關,則這種存儲器稱為隨機存儲器(RAM)。RAM主要用來存放各種輸入/輸出的程序、數據、中間運算結果以及存放與外界交換的信息和做堆棧用。隨機存儲器主要充當高速緩沖存儲器和主存儲器。
(2)串列訪問存儲器(SAS):如果存儲器只能按某種順序來存取,也就是說,存取時間與存儲單元的物理位置有關,則這種存儲器稱為串列訪問存儲器。串列存儲器又可分為順序存取存儲器(SAM)和直接存取存儲器(DAM)。順序存取存儲器是完全的串列訪問存儲器,如磁帶,信息以順序的方式從存儲介質的始端開始寫入(或讀出);直接存取存儲器是部分串列訪問存儲器,如磁碟存儲器,它介於順序存取和隨機存取之間。
(3)只讀存儲器(ROM):只讀存儲器是一種對其內容只能讀不能寫入的存儲器,即預先一次寫入的存儲器。通常用來存放固定不變的信息。如經常用作微程序控制存儲器。目前已有可重寫的只讀存儲器。常見的有掩模ROM(MROM),可擦除可編程ROM(EPROM),電可擦除可編程ROM(EEPROM).ROM的電路比RAM的簡單、集成度高,成本低,且是一種非易失性存儲器,計算機常把一些管理、監控程序、成熟的用戶程序放在ROM中。
3.按信息的可保存性分類
非永久記憶的存儲器:斷電後信息就消失的存儲器,如半導體讀/寫存儲器RAM。
永久性記憶的存儲器:斷電後仍能保存信息的存儲器,如磁性材料做成的存儲器以及半導體ROM。
4.按在計算機系統中的作用分
根據存儲器在計算機系統中所起的作用,可分為主存儲器、輔助存儲器、高速緩沖存儲器、控制存儲器等。為了解決對存儲器要求容量大,速度快,成本低三者之間的矛盾,目前通常採用多級存儲器體系結構,即使用高速緩沖存儲器、主存儲器和外存儲器。
能力影響
從寫命令轉換到讀命令,在某個時間訪問某個地址,以及刷新數據等操作都要求數據匯流排在一定時間內保持休止狀態,這樣就不能充分利用存儲器通道。此外,寬並行匯流排和DRAM內核預取都經常導致不必要的大數據量存取。在指定的時間段內,存儲器控制器能存取的有用數據稱為有效數據速率,這很大程度上取決於系統的特定應用。有效數據速率隨著時間而變化,常低於峰值數據速率。在某些系統中,有效數據速率可下降到峰值速率的10%以下。
通常,這些系統受益於那些能產生更高有效數據速率的存儲器技術的變化。在CPU方面存在類似的現象,最近幾年諸如AMD和 TRANSMETA等公司已經指出,在測量基於CPU的系統的性能時,時鍾頻率不是唯一的要素。存儲器技術已經很成熟,峰值速率和有效數據速率或許並不比以前匹配的更好。盡管峰值速率依然是存儲器技術最重要的參數之一,但其他結構參數也可以極大地影響存儲器系統的性能。
影響有效數據速率的參數
有幾類影響有效數據速率的參數,其一是導致數據匯流排進入若干周期的停止狀態。在這類參數中,匯流排轉換、行周期時間、CAS延時以及RAS到CAS的延時(tRCD)引發系統結構中的大部分延遲問題。
匯流排轉換本身會在數據通道上產生非常長的停止時間。以GDDR3系統為例,該系統對存儲器的開放頁不斷寫入數據。在這期間,存儲器系統的有效數據速率與其峰值速率相當。不過,假設100個時鍾周期中,存儲器控制器從讀轉換到寫。由於這個轉換需要6個時鍾周期,有效的數據速率下降到峰值速率的 94%。在這100個時鍾周期中,如果存儲器控制器將匯流排從寫轉換到讀的話,將會丟失更多的時鍾周期。這種存儲器技術在從寫轉換到讀時需要15個空閑周期,這會將有效數據速率進一步降低到峰值速率的79%。表1顯示出針幾種高性能存儲器技術類似的計算結果。
顯然,所有的存儲器技術並不相同。需要很多匯流排轉換的系統設計師可以選用諸如XDR、RDRAM或者DDR2這些更高效的技術來提升性能。另一方面,如果系統能將處理事務分組成非常長的讀寫序列,那麼匯流排轉換對有效帶寬的影響最小。不過,其他的增加延遲現象,例如庫(bank)沖突會降低有效帶寬,對性能產生負面影響。
DRAM技術要求庫的頁或行在存取之前開放。一旦開放,在一個最小周期時間,即行周期時間(tRC)結束之前,同一個庫中的不同頁不能開放。對存儲器開放庫的不同頁存取被稱為分頁遺漏,這會導致與任何tRC間隔未滿足部分相關的延遲。對於還沒有開放足夠周期以滿足tRC間隙的庫而言,分頁遺漏被稱為庫沖突。而tRC決定了庫沖突延遲時間的長短,在給定的DRAM上可用的庫數量直接影響庫沖突產生的頻率。
大多數存儲器技術有4個或者8個庫,在數十個時鍾周期具有tRC值。在隨機負載情況下,那些具有8個庫的內核比具有4個庫的內核所發生的庫沖突更少。盡管tRC與庫數量之間的相互影響很復雜,但是其累計影響可用多種方法量化。
存儲器讀事務處理
考慮三種簡單的存儲器讀事務處理情況。第一種情況,存儲器控制器發出每個事務處理,該事務處理與前一個事務處理產生一個庫沖突。控制器必須在打開一個頁和打開後續頁之間等待一個tRC時間,這樣增加了與頁循環相關的最大延遲時間。在這種情況下的有效數據速率很大程度上決定於I/O,並主要受限於DRAM內核電路。最大的庫沖突頻率將有效帶寬削減到當前最高端存儲器技術峰值的20%到30%。
在第二種情況下,每個事務處理都以隨機產生的地址為目標。此時,產生庫沖突的機會取決於很多因素,包括tRC和存儲器內核中庫數量之間的相互作用。tRC值越小,開放頁循環地越快,導致庫沖突的損失越小。此外,存儲器技術具有的庫越多,隨機地址存取庫沖突的機率就越小。
第三種情況,每個事務處理就是一次頁命中,在開放頁中定址不同的列地址。控制器不必訪問關閉頁,允許完全利用匯流排,這樣就得到一種理想的情況,即有效數據速率等於峰值速率。
第一種和第三種情況都涉及到簡單的計算,隨機情況受其他的特性影響,這些特性沒有包括在DRAM或者存儲器介面中。存儲器控制器仲裁和排隊會極大地改善庫沖突頻率,因為更有可能出現不產生沖突的事務處理,而不是那些導致庫沖突的事務處理。
然而,增加存儲器隊列深度未必增加不同存儲器技術之間的相對有效數據速率。例如,即使增加存儲器控制隊列深度,XDR的有效數據速率也比 GDDR3高20%。存在這種增量主要是因為XDR具有更高的庫數量以及更低的tRC值。一般而言,更短的tRC間隔、更多的庫數量以及更大的控制器隊列能產生更高的有效帶寬。
實際上,很多效率限制現象是與行存取粒度相關的問題。tRC約束本質上要求存儲器控制器從新開放的行中存取一定量的數據,以確保數據管線保持充滿。事實上,為保持數據匯流排無中斷地運行,在開放一個行之後,只須讀取很少量的數據,即使不需要額外的數據。
另外一種減少存儲器系統有效帶寬的主要特性被歸類到列存取粒度范疇,它規定了每次讀寫操作必須傳輸的數據量。與之相反,行存取粒度規定每個行激活(一般指每個RAS的CAS操作)需要多少單獨的讀寫操作。列存取粒度對有效數據速率具有不易於量化的巨大影響。因為它規定一個讀或寫操作中需要傳輸的最小數據量,列存取粒度給那些一次只需要很少數據量的系統帶來了問題。例如,一個需要來自兩列各8位元組的16位元組存取粒度系統,必須讀取總共32位元組以存取兩個位置。因為只需要32個位元組中的16個位元組,系統的有效數據速率降低到峰值速率的50%。匯流排帶寬和脈沖時間長度這兩個結構參數規定了存儲器系統的存取粒度。
匯流排帶寬是指連接存儲器控制器和存儲器件之間的數據線數量。它設定最小的存取粒度,因為對於一個指定的存儲器事務處理,每條數據線必須至少傳遞一個數據位。而脈沖時間長度則規定對於指定的事務處理,每條數據線必須傳遞的位數量。每個事務處理中的每條數據線只傳一個數據位的存儲技術,其脈沖時間長度為1。總的列存取粒度很簡單:列存取粒度=匯流排寬度×脈沖時間長度。
很多系統架構僅僅通過增加DRAM器件和存儲匯流排帶寬就能增加存儲系統的可用帶寬。畢竟,如果4個400MHz數據速率的連接可實現 1.6GHz的總峰值帶寬,那麼8個連接將得到3.2GHz。增加一個DRAM器件,電路板上的連線以及ASIC的管腳就會增多,總峰值帶寬相應地倍增。
首要的是,架構師希望完全利用峰值帶寬,這已經達到他們通過物理設計存儲器匯流排所能達到的最大值。具有256位甚或512位存儲匯流排的圖形控制器已並不鮮見,這種控制器需要1,000個,甚至更多的管腳。封裝設計師、ASIC底層規劃工程師以及電路板設計工程師不能找到採用便宜的、商業上可行的方法來對這么多信號進行布線的矽片區域。僅僅增加匯流排寬度來獲得更高的峰值數據速率,會導致因為列存取粒度限制而降低有效帶寬。
假設某個特定存儲技術的脈沖時間長度等於1,對於一個存儲器處理,512位寬系統的存取粒度為512位(或者64位元組)。如果控制器只需要一小段數據,那麼剩下的數據就被浪費掉,這就降低了系統的有效數據速率。例如,只需要存儲系統32位元組數據的控制器將浪費剩餘的32位元組,進而導致有效的數據速率等於50%的峰值速率。這些計算都假定脈沖時間長度為1。隨著存儲器介面數據速率增加的趨勢,大多數新技術的最低脈沖時間長度都大於1。
選擇技巧
存儲器的類型將決定整個嵌入式系統的操作和性能,因此存儲器的選擇是一個非常重要的決策。無論系統是採用電池供電還是由市電供電,應用需求將決定存儲器的類型(易失性或非易失性)以及使用目的(存儲代碼、數據或者兩者兼有)。另外,在選擇過程中,存儲器的尺寸和成本也是需要考慮的重要因素。對於較小的系統,微控制器自帶的存儲器就有可能滿足系統要求,而較大的系統可能要求增加外部存儲器。為嵌入式系統選擇存儲器類型時,需要考慮一些設計參數,包括微控制器的選擇、電壓范圍、電池壽命、讀寫速度、存儲器尺寸、存儲器的特性、擦除/寫入的耐久性以及系統總成本。
選擇存儲器時應遵循的基本原則
1、內部存儲器與外部存儲器
一般情況下,當確定了存儲程序代碼和數據所需要的存儲空間之後,設計工程師將決定是採用內部存儲器還是外部存儲器。通常情況下,內部存儲器的性價比最高但靈活性最低,因此設計工程師必須確定對存儲的需求將來是否會增長,以及是否有某種途徑可以升級到代碼空間更大的微控制器。基於成本考慮,人們通常選擇能滿足應用要求的存儲器容量最小的微控制器,因此在預測代碼規模的時候要必須特別小心,因為代碼規模增大可能要求更換微控制器。目前市場上存在各種規模的外部存儲器器件,我們很容易通過增加存儲器來適應代碼規模的增加。有時這意味著以封裝尺寸相同但容量更大的存儲器替代現有的存儲器,或者在匯流排上增加存儲器。即使微控制器帶有內部存儲器,也可以通過增加外部串列EEPROM或快閃記憶體來滿足系統對非易失性存儲器的需求。
2、引導存儲器
在較大的微控制器系統或基於處理器的系統中,設計工程師可以利用引導代碼進行初始化。應用本身通常決定了是否需要引導代碼,以及是否需要專門的引導存儲器。例如,如果沒有外部的定址匯流排或串列引導介面,通常使用內部存儲器,而不需要專門的引導器件。但在一些沒有內部程序存儲器的系統中,初始化是操作代碼的一部分,因此所有代碼都將駐留在同一個外部程序存儲器中。某些微控制器既有內部存儲器也有外部定址匯流排,在這種情況下,引導代碼將駐留在內部存儲器中,而操作代碼在外部存儲器中。這很可能是最安全的方法,因為改變操作代碼時不會出現意外地修改引導代碼。在所有情況下,引導存儲器都必須是非易失性存儲器。
可以使用任何類型的存儲器來滿足嵌入式系統的要求,但終端應用和總成本要求通常是影響我們做出決策的主要因素。有時,把幾個類型的存儲器結合起來使用能更好地滿足應用系統的要求。例如,一些PDA設計同時使用易失性存儲器和非易失性存儲器作為程序存儲器和數據存儲器。把永久的程序保存在非易失性ROM中,而把由用戶下載的程序和數據存儲在有電池支持的易失性DRAM中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。
B. 物理存儲器和存儲地址空間的區別
區別
1、存在方式
物理存儲器是實際存在的儲存地址,而存儲地址空間指邏輯上的儲存地址。
物理存儲器和存儲地址空間兩者都用B、KB、MB、GB來度量其容量大小。
物理存儲器:是指實際存在的具體存儲器晶元。如主板上裝插的主存條和裝載有系統的BIOS的ROM晶元,顯示卡上的顯示RAM晶元和裝載顯示BIOS的ROM晶元,以及各種適配卡上的RAM晶元和ROM晶元都是物理存儲器。
存儲地址空間:是指對存儲器編碼(編碼地址)的范圍。所謂編碼就是對每一個物理存儲單元(一個位元組)分配一個號碼,通常叫作「編址」。分配一個號碼給一個存儲單元的目的是為了便於找到它,完成數據的讀寫,這就是所謂的「定址」。
(2)物理存儲器使用技巧擴展閱讀
主板上裝插的主存條和裝載有系統的BIOS的ROM晶元,顯示卡上的顯示RAM晶元和裝載顯示BIOS的ROM晶元,以及各種適配卡上的RAM晶元和ROM晶元都是物理存儲器。
存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存,港台稱之為記憶體)。
內存又稱主存,是CPU能直接定址的存儲空間,由半導體器件製成。內存的特點是存取速率快。內存是電腦中的主要部件,它是相對於外存而言的。
C. 虛擬存儲器的設置技巧是什麼
虛擬存儲器的概念是相對於物理存儲器而言的,當系統的物理存儲器空間入不敷出時,操作系統便會在硬碟上開辟一塊磁碟空間當做存儲器使用,這部分硬碟空間就叫虛擬存儲器。Windows 98中採用Win386.swp檔的形式,而Windows 2000/XP則採用頁面檔pagefile.sys的形式來管理虛擬存儲器。 一、大小情況1.一般情況一般情況下,建議讓Windows來自動分配管理虛擬存儲器,它能根據實際存儲器的使用情況,動態調整虛擬存儲器的大小。2.關於最小值Windows建議頁面檔的最小值應該為當前系統物理存儲器容量再加上12MB,而對於物理存儲器容量小於256MB的用戶,則建議將頁面檔的最小值設得更大些:①使用128MB或者更少存儲器的用戶,建議將當前物理存儲器容量的1.75倍設置為頁面檔的最小值。②存儲器大小在128MB到256MB之間的用戶,建議將當前物理存儲器容量的1.5倍設置為頁面檔的最小值。3.關於最大值一般來說,頁面檔的最大值設置得越大越好,建議設置為最小值的2到3倍。4.極端情況假如硬碟空間比較緊張,在設置頁面檔時,只需保證它不小於物理存儲器的3/4即可。如果物理存儲器很大(大於512MB),則可以將虛擬存儲器禁用。5.根據不同的任務環境設置①以3D游戲為主的環境3D游戲對CPU、顯卡和存儲器要求都很高,如果物理存儲器小於256MB,建議把虛擬存儲器預設得大一點,這對提高游戲的穩定性和流暢性很有幫助。②以播放視頻為主的環境視頻應用對硬碟空間的「胃口」很大,不過千萬不要像在3D游戲環境中一樣把虛擬存儲器設得很大,尤其是Windows XP的用戶。因為Windows XP不會自動把不需要的空間釋放掉,也就是說那個Pagefiles.sys檔會越來越大。如果你把虛擬存儲器和Windows XP放在同一分區,播放RM、ASF等視頻流檔以後,系統經常會提示你虛擬存儲器設得太小或是磁碟空間不足。查看此時的頁面檔,已經足有1GB大小了。所以建議經常欣賞視頻檔的Windows XP用戶,把初始數值設小一點,或者將虛擬存儲器轉移到系統盤以外的分區。二、設置方法下面以在Windows XP下轉移虛擬存儲器所在盤符為例介紹虛擬存儲器的設置方法:進入「打開→控制面板→系統」,選擇「高級」選項卡,點擊「性能」欄中的「設置」按鈕,選擇「高級」選項卡,點擊「虛擬存儲器」欄內的「更改」按鈕,即可進入「虛擬存儲器」窗口;在驅動器列表中選中系統盤符,然後勾選「無分頁檔」選項,再單擊「設置」按鈕;接著點擊其他分區,選擇「自定義大小」選項,在「初始大小」和「最大值」中設定數值,然後單擊「設置」按鈕,最後點擊「確定」按鈕退出即可。
D. 什麼是電腦內存內存多大比較好內存比較小有什麼影響怎麼提高內存
內存
在計算機的組成結構中,有一個很重要的部分,就是存儲器。存儲器是用來存儲程序和數據的部件,對於計算機來說,有了存儲器,才有記憶功能,才能保證正常工作。存儲器的種類很多,按其用途可分為主存儲器和輔助存儲器,主存儲器又稱內存儲器(簡稱內存).內存在電腦中起著舉足輕重的作用。內存一般採用半導體存儲單元,包括隨機存儲器(RAM),只讀存儲器(ROM),以及高速緩存(CACHE)。只不過因為RAM是其中最重要的存儲器。S(SYSNECRONOUS)DRAM 同步動態隨機存取存儲器:SDRAM為168腳,這是目前PENTIUM及以上機型使用的內存。SDRAM將CPU與RAM通過一個相同的時鍾鎖在一起,使CPU和RAM能夠共享一個時鍾周期,以相同的速度同步工作,每一個時鍾脈沖的上升沿便開始傳遞數據,速度比EDO內存提高50%。DDR(DOUBLE DATA RAGE)RAM :SDRAM的更新換代產品,他允許在時鍾脈沖的上升沿和下降沿傳輸數據,這樣不需要提高時鍾的頻率就能加倍提高SDRAM的速度。
●內存
內存就是存儲程序以及數據的地方,比如當我們在使用WPS處理文稿時,當你在鍵盤上敲入字元時,它就被存入內存中,當你選擇存檔時,內存中的數據才會被存入硬(磁)盤。在進一步理解它之前,還應認識一下它的物理概念。
●只讀存儲器(ROM)
ROM表示只讀存儲器(Read Only Memory),在製造ROM的時候,信息(數據或程序)就被存入並永久保存。這些信息只能讀出,一般不能寫入,即使機器掉電,這些數據也不會丟失。ROM一般用於存放計算機的基本程序和數據,如BIOS ROM。其物理外形一般是雙列直插式(DIP)的集成塊。
●隨機存儲器(RAM)
隨機存儲器(Random Access Memory)表示既可以從中讀取數據,也可以寫入數據。當機器電源關閉時,存於其中的數據就會丟失。我們通常購買或升級的內存條就是用作電腦的內存,內存條(SIMM)就是將RAM集成塊集中在一起的一小塊電路板,它插在計算機中的內存插槽上,以減少RAM集成塊佔用的空間。目前市場上常見的內存條有128M/條、256M/條、512M/條等。
●高速緩沖存儲器(Cache)
Cache也是我們經常遇到的概念,它位於CPU與內存之間,是一個讀寫速度比內存更快的存儲器。當CPU向內存中寫入或讀出數據時,這個數據也被存儲進高速緩沖存儲器中。當CPU再次需要這些數據時,CPU就從高速緩沖存儲器讀取數據,而不是訪問較慢的內存,當然,如需要的數據在Cache中沒有,CPU會再去讀取內存中的數據。
當你理解了上述概念後,也許你會問,內存就是內存,為什麼又會出現各種內存名詞,這到底又是怎麼回事呢?
在回答這個問題之前,我們再來看看下面這一段。
物理存儲器和地址空間
物理存儲器和存儲地址空間是兩個不同的概念。但是由於這兩者有十分密切的關系,而且兩者都用B、KB、MB、GB來度量其容量大小,因此容易產生認識上的混淆。初學者弄清這兩個不同的概念,有助於進一步認識內存儲器和用好內存儲器。
物理存儲器是指實際存在的具體存儲器晶元。如主板上裝插的內存條和裝載有系統的BIOS的ROM晶元,顯示卡上的顯示RAM晶元和裝載顯示BIOS的ROM晶元,以及各種適配卡上的RAM晶元和ROM晶元都是物理存儲器。
存儲地址空間是指對存儲器編碼(編碼地址)的范圍。所謂編碼就是對每一個物理存儲單元(一個位元組)分配一個號碼,通常叫作「編址」。分配一個號碼給一個存儲單元的目的是為了便於找到它,完成數據的讀寫,這就是所謂的「定址」(所以,有人也把地址空間稱為定址空間)。
地址空間的大小和物理存儲器的大小並不一定相等。舉個例子來說明這個問題:某層樓共有17個房間,其編號為801~817。這17個房間是物理的,而其地址空間採用了三位編碼,其范圍是800~899共100個地址,可見地址空間是大於實際房間數量的。
對於386以上檔次的微機,其地址匯流排為32位,因此地址空間可達232即4GB。但實際上我們所配置的物理存儲器通常只有1MB、2MB、4MB、8MB、16MB、32MB等,遠小於地址空間所允許的范圍。
好了,現在可以解釋為什麼會產生諸如:常規內存、保留內存、上位內存、高端內存、擴充內存和擴展內存等不同內存類型。
各種內存概念
這里需要明確的是,我們討論的不同內存的概念是建立在定址空間上的。
IBM推出的第一台PC機採用的CPU是8088晶元,它只有20根地址線,也就是說,它的地址空間是1MB。
PC機的設計師將1MB中的低端640KB用作RAM,供DOS及應用程序使用,高端的384KB則保留給ROM、視頻適配卡等系統使用。從此,這個界限便被確定了下來並且沿用至今。低端的640KB就被稱為常規內存即PC機的基本RAM區。保留內存中的低128KB是顯示緩沖區,高64KB是系統BIOS(基本輸入/輸出系統)空間,其餘192KB空間留用。從對應的物理存儲器來看,基本內存區只使用了512KB晶元,佔用0000至80000這512KB地址。顯示內存區雖有128KB空間,但對單色顯示器(MDA卡)只需4KB就足夠了,因此只安裝4KB的物理存儲器晶元,佔用了B0000至B10000這4KB的空間,如果使用彩色顯示器(CGA卡)需要安裝16KB的物理存儲器,佔用B8000至BC000這16KB的空間,可見實際使用的地址范圍都小於允許使用的地址空間。
在當時(1980年末至1981年初)這么「大」容量的內存對PC機使用者來說似乎已經足夠了,但是隨著程序的不斷增大,圖象和聲音的不斷豐富,以及能訪問更大內存空間的新型CPU相繼出現,最初的PC機和MS-DOS設計的局限性變得越來越明顯。
1.什麼是擴充內存?
EMS工作原理
到1984年,即286被普遍接受不久,人們越來越認識到640KB的限制已成為大型程序的障礙,這時,Intel和Lotus,這兩家硬、軟體的傑出代表,聯手制定了一個由硬體和軟體相結合的方案,此方法使所有PC機存取640KB以上RAM成為可能。而Microsoft剛推出Windows不久,對內存空間的要求也很高,因此它也及時加入了該行列。
在1985年初,Lotus、Intel和Microsoft三家共同定義了LIM-EMS,即擴充內存規范,通常稱EMS為擴充內存。當時,EMS需要一個安裝在I/O槽口的內存擴充卡和一個稱為EMS的擴充內存管理程序方可使用。但是I/O插槽的地址線只有24位(ISA匯流排),這對於386以上檔次的32位機是不能適應的。所以,現在已很少使用內存擴充卡。現在微機中的擴充內存通常是用軟體如DOS中的EMM386把擴展內存模擬或擴充內存來使用。所以,擴充內存和擴展內存的區別並不在於其物理存儲器的位置,而在於使用什麼方法來讀寫它。下面將作進一步介紹。
前面已經說過擴充存儲器也可以由擴展存儲器模擬轉換而成。EMS的原理和XMS不同,它採用了頁幀方式。頁幀是在1MB空間中指定一塊64KB空間(通常在保留內存區內,但其物理存儲器來自擴展存儲器),分為4頁,每頁16KB。EMS存儲器也按16KB分頁,每次可交換4頁內容,以此方式可訪問全部EMS存儲器。符合EMS的驅動程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、386MAX等。DOS和Windows中都提供了EMM386.EXE。
2.什麼是擴展內存?
我們知道,286有24位地址線,它可定址16MB的地址空間,而386有32位地址線,它可定址高達4GB的地址空間,為了區別起見,我們把1MB以上的地址空間稱為擴展內存XMS(eXtend memory)。
在386以上檔次的微機中,有兩種存儲器工作方式,一種稱為實地址方式或實方式,另一種稱為保護方式。在實方式下,物理地址仍使用20位,所以最大定址空間為1MB,以便與8086兼容。保護方式採用32位物理地址,定址范圍可達4GB。DOS系統在實方式下工作,它管理的內存空間仍為1MB,因此它不能直接使用擴展存儲器。為此,Lotus、Intel、AST及Microsoft公司建立了MS-DOS下擴展內存的使用標准,即擴展內存規范XMS。我們常在Config.sys文件中看到的Himem.sys就是管理擴展內存的驅動程序。
擴展內存管理規范的出現遲於擴充內存管理規范。
3.什麼是高端內存區?
在實方式下,內存單元的地址可記為:
段地址:段內偏移
通常用十六進制寫為XXXX:XXXX。實際的物理地址由段地址左移4位再和段內偏移相加而成。若地址各位均為1時,即為FFFF:FFFF。其實際物理地址為:FFF0+FFFF=10FFEF,約為1088KB(少16位元組),這已超過1MB范圍進入擴展內存了。這個進入擴展內存的區域約為64KB,是1MB以上空間的第一個64KB。我們把它稱為高端內存區HMA(High Memory Area)。HMA的物理存儲器是由擴展存儲器取得的。因此要使用HMA,必須要有物理的擴展存儲器存在。此外HMA的建立和使用還需要XMS驅動程序HIMEM.SYS的支持,因此只有裝入了HIMEM.SYS之後才能使用HMA。
4.什麼是上位內存?
為了解釋上位內存的概念,我們還得回過頭看看保留內存區。保留內存區是指640KB~1024KB(共384KB)區域。這部分區域在PC誕生之初就明確是保留給系統使用的,用戶程序無法插足。但這部分空間並沒有充分使用,因此大家都想對剩餘的部分打主意,分一塊地址空間(注意:是地址空間,而不是物理存儲器)來使用。於是就得到了又一塊內存區域UMB。
UMB(Upper Memory Blocks)稱為上位內存或上位內存塊。它是由擠占保留內存中剩餘未用的空間而產生的,它的物理存儲器仍然取自物理的擴展存儲器,它的管理驅動程序是EMS驅動程序。
5.什麼是SHADOW(影子)內存?
對於細心的讀者,可能還會發現一個問題:即是對於裝有1MB或1MB以上物理存儲器的機器,其640KB~1024KB這部分物理存儲器如何使用的問題。由於這部分地址空間已分配為系統使用,所以不能再重復使用。為了利用這部分物理存儲器,在某些386系統中,提供了一個重定位功能,即把這部分物理存儲器的地址重定位為1024KB~1408KB。這樣,這部分物理存儲器就變成了擴展存儲器,當然可以使用了。但這種重定位功能在當今高檔機器中不再使用,而把這部分物理存儲器保留作為Shadow存儲器。Shadow存儲器可以占據的地址空間與對應的ROM是相同的。Shadow由RAM組成,其速度大大高於ROM。當把ROM中的內容(各種BIOS程序)裝入相同地址的Shadow RAM中,就可以從RAM中訪問BIOS,而不必再訪問ROM。這樣將大大提高系統性能。因此在設置CMOS參數時,應將相應的Shadow區設為允許使用(Enabled)。
6、什麼是奇/偶校驗?
奇/偶校驗(ECC)是數據傳送時採用的一種校正數據錯誤的一種方式,分為奇校驗和偶校驗兩種。
如果是採用奇校驗,在傳送每一個位元組的時候另外附加一位作為校驗位,當實際數據中「1」的個數為偶數的時候,這個校驗位就是「1」,否則這個校驗位就是「0」,這樣就可以保證傳送數據滿足奇校驗的要求。在接收方收到數據時,將按照奇校驗的要求檢測數據中「1」的個數,如果是奇數,表示傳送正確,否則表示傳送錯誤。
同理偶校驗的過程和奇校驗的過程一樣,只是檢測數據中「1」的個數為偶數。
總 結
經過上面分析,內存儲器的劃分可歸納如下:
●基本內存 占據0~640KB地址空間。
●保留內存 占據640KB~1024KB地址空間。分配給顯示緩沖存儲器、各適配卡上的ROM和系統ROM BIOS,剩餘空間可作上位內存UMB。UMB的物理存儲器取自物理擴展存儲器。此范圍的物理RAM可作為Shadow RAM使用。
●上位內存(UMB) 利用保留內存中未分配使用的地址空間建立,其物理存儲器由物理擴展存儲器取得。UMB由EMS管理,其大小可由EMS驅動程序設定。
●高端內存(HMA) 擴展內存中的第一個64KB區域(1024KB~1088KB)。由HIMEM.SYS建立和管理。
●XMS內存 符合XMS規范管理的擴展內存區。其驅動程序為HIMEM.SYS。
●EMS內存 符合EMS規范管理的擴充內存區。其驅動程序為EMM386.EXE等。
虛擬內存
內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執行,如果執行的程序很大或很多,就會導致內存消耗殆盡。為了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬碟空間來充當內存使用,當內存佔用完時,電腦就會自動調用硬碟來充當內存,以緩解內存的緊張。舉一個例子來說,如果電腦只有128MB物理內存的話,當讀取一個容量為200MB的文件時,就必須要用到比較大的虛擬內存,文件被內存讀取之後就會先儲存到虛擬內存,等待內存把文件全部儲存到虛擬內存之後,跟著就會把虛擬內里儲存的文件釋放到原來的安裝目錄里了。下面,就讓我們一起來看看如何對虛擬內存進行設置吧。
虛擬內存的設置
對於虛擬內存主要設置兩點,即內存大小和分頁位置,內存大小就是設置虛擬內存最小為多少和最大為多少;而分頁位置則是設置虛擬內存應使用那個分區中的硬碟空間。對於內存大小的設置,如何得到最小值和最大值呢?你可以通過下面的方法獲得:選擇「開始→程序→附件→系統工具→系統監視器」(如果系統工具中沒有,可以通過「添加/刪除程序」中的Windows安裝程序進行安裝)打開系統監視器,然後選擇「編輯→添加項目」,在「類型」項中選擇「內存管理程序」,在右側的列表選擇「交換文件大小」。這樣隨著你的操作,會顯示出交換文件值的波動情況,你可以把經常要使用到的程序打開,然後對它們進行使用,這時查看一下系統監視器中的表現值,由於用戶每次使用電腦時的情況都不盡相同,因此,最好能夠通過較長時間對交換文件進行監視來找出最符合您的交換文件的數值,這樣才能保證系統性能穩定以及保持在最佳的狀態。
找出最合適的范圍值後,在設置虛擬內存時,用滑鼠右鍵點擊「我的電腦」,選擇「屬性」,彈出系統屬性窗口,選擇「性能」標簽,點擊下面「虛擬內存」按鈕,彈出虛擬內存設置窗口,點擊「用戶自己指定虛擬內存設置」單選按鈕,「硬碟」選較大剩餘空間的分區,然後在「最小值」和「最大值」文本框中輸入合適的范圍值。如果您感覺使用系統監視器來獲得最大和最小值有些麻煩的話,這里完全可以選擇「讓Windows管理虛擬內存設置」。
調整分頁位置
Windows 9x的虛擬內存分頁位置,其實就是保存在C盤根目錄下的一個虛擬內存文件(也稱為交換文件)Win386.swp,它的存放位置可以是任何一個分區,如果系統盤C容量有限,我們可以把Win386.swp調到別的分區中,方法是在記事本中打開System.ini(C:\Windows下)文件,在[386Enh]小節中,將「PagingDrive=C:WindowsWin386.swp」,改為其他分區的路徑,如將交換文件放在D:中,則改為「PagingDrive=D:Win386.swp」,如沒有上述語句可以直接鍵入即可。
而對於使用Windows 2000和Windows XP的,可以選擇「控制面板→系統→高級→性能」中的「設置→高級→更改」,打開虛擬內存設置窗口,在驅動器[卷標]中默認選擇的是系統所在的分區,如果想更改到其他分區中,首先要把原先的分區設置為無分頁文件,然後再選擇其他分區。
或者,WinXP一般要求物理內存在256M以上。如果你喜歡玩大型3D游戲,而內存(包括顯存)又不夠大,系統會經常提示說虛擬內存不夠,系統會自動調整(虛擬內存設置為系統管理)。
如果你的硬碟空間夠大,你也可以自己設置虛擬內存,具體步驟如下:右鍵單擊「我的電腦」→屬性→高級→性能 設置→高級→虛擬內存 更改→選擇虛擬內存(頁面文件)存放的分區→自定義大小→確定最大值和最小值→設置。一般來說,虛擬內存為物理內存的1.5倍,稍大一點也可以,如果你不想虛擬內存頻繁改動,可以將最大值和最小值設置為一樣。
44》虛擬內存使用技巧
對於虛擬內存如何設置的問題,微軟已經給我們提供了官方的解決辦法,對於一般情況下,我們推薦採用如下的設置方法:
(1)在Windows系統所在分區設置頁面文件,文件的大小由你對系統的設置決定。具體設置方法如下:打開"我的電腦"的"屬性"設置窗口,切換到"高級"選項卡,在"啟動和故障恢復"窗口的"寫入調試信息"欄,如果你採用的是"無",則將頁面文件大小設置為2MB左右,如果採用"核心內存存儲"和"完全內存存儲",則將頁面文件值設置得大一些,跟物理內存差不多就可以了。
小提示:對於系統分區是否設置頁面文件,這里有一個矛盾:如果設置,則系統有可能會頻繁讀取這部分頁面文件,從而加大系統盤所在磁軌的負荷,但如果不設置,當系統出現藍屏死機(特別是STOP錯誤)的時候,無法創建轉儲文件 (Memory.dmp),從而無法進行程序調試和錯誤報告了。所以折中的辦法是在系統盤設置較小的頁面文件,只要夠用就行了。
(2)單獨建立一個空白分區,在該分區設置虛擬內存,其最小值設置為物理內存的1.5倍,最大值設置為物理內存的3倍,該分區專門用來存儲頁面文件,不要再存放其它任何文件。之所以單獨劃分一個分區用來設置虛擬內存,主要是基於兩點考慮:其一,由於該分區上沒有其它文件,這樣分區不會產生磁碟碎片,這樣能保證頁面文件的數據讀寫不受磁碟碎片的干擾;其二,按照Windows對內存的管理技術,Windows會優先使用不經常訪問的分區上的
頁面文件,這樣也減少了讀取系統盤里的頁面文件的機會,減輕了系統盤的壓力。
(3)其它硬碟分區不設置任何頁面文件。當然,如果你有多個硬碟,則可以為每個硬碟都創建一個頁面文件。當信息分布在多個頁面文件上時,硬碟控制器可以同時在多個硬碟上執行讀取和寫入操作。這樣系統性能將得到提高。
小提示:
允許設置的虛擬內存最小值為2MB,最大值不能超過當前硬碟的剩餘空間值,同時也不能超過32位操作系統的內存定址范圍——4GB。
E. 物理存儲器和內存
其實全部都有用到,機器是先把1MB分成幾個段,每個段的首地址都是5位16進制且最低位都是0 比如說00000--0000F為一個段 00010--0001F為一個段 。。一直到FFFF0--FFFFF又為一個段,其物理地址就等於每個段的首地址加上該儲存單元在該段上的偏移地址,這樣機器就可以訪問下所有的內存區間了!!!!
F. 存儲器(四大物理空間,三大邏輯空間,劃分原理)
存儲器四大物理空間,是按照存儲器的種類和在單片機中位置來劃分的。包括片內RAM,片內ROM和片外RAM和片外ROM。
三大邏輯空間,是按照單片機對存儲器的訪問命令形式來劃分的。訪問片內RAM,用MOV指令;訪問片外RAM,用MOVX指令;訪問ROM(不分內外),用MOVC指令。
G. 三種存儲器從快到慢
存儲器是用來存儲程序和各種數據信息的記憶部件。
存儲速度從快到慢排列:內存儲器、高速緩沖存儲器、計算機的主存、大容量磁碟。
根據存儲材料的性能及使用方法的不同,存儲器有幾種不同的分類方法。
1.按存儲介質分類
半導體存儲器:用半導體器件組成的存儲器。
磁表面存儲器:用磁性材料做成的存儲器。
2.按存儲方式分類
隨機存儲器:任何存儲單元的內容都能被隨機存取,且存取時間和存儲單元的物理位置無關。
順序存儲器:只能按某種順序來存取,存取時間與存儲單元的物理位置有關。
3.按存儲器的讀寫功能分類
只讀存儲器(ROM):存儲的內容是固定不變的,只能讀出而不能寫入的半導體存儲器。
隨機讀寫存儲器(RAM):既能讀出又能寫入的半導體存儲器。
4.按信息的可保存性分類
非永久記憶的存儲器:斷電後信息即消失的存儲器。
永久記憶性存儲器:斷電後仍能保存信息的存儲器。
5.按在計算機系統中的作用分類
主存儲器(內存):用於存放活動的程序和數據,其速度高、容量較小、每位價位高。
輔助存儲器(外存儲器):主要用於存放當前不活躍的程序和數據,其速度慢、容量大、每位價位低。
緩沖存儲器:主要在兩個不同工作速度的部件起緩沖作用。
H. 計算機的存儲器有幾類,分別有什麼作用
計算機存儲器指計算機的內部存儲區域,以晶元格式和集成電路形式存在。計算機存儲器應用於錄音機或磁碟。術語「存儲器」通常視為物理存儲器的簡稱,作為保留數據的實際可能晶元。有些計算機也使用虛擬存儲器,即在硬碟上擴展物理存儲器。
存儲器分為兩種基本類型:ROM 和 RAM 。
ROM(只讀存儲器):在 ROM 中,只讀數據是預先記錄的,不能被移動。ROM 不易於丟失,也就是,不管計算機處於開機還是關機狀態,ROM 始終保留其內部內容。大多數個人計算機的 ROM 較小,主要用於存儲一些關鍵性程序,諸如用來啟動計算機的程序。另外,ROM 也用於計算器及外圍設備等,如激光列印機,其字體存儲於 ROM 中。ROM 還存在一些擴展變數,如可編程只讀存儲器(PROM),即採用專用 PROM 編程器在空白晶元上寫入數據。
RAM(隨機存儲器):該存儲器中的內容可以以任意順序存取(讀、寫和移動)。時序存儲器設備正好與其形成對比,如磁帶、唱片等,其存儲介質的機械運動驅使計算機必須以固定順序存取數據。RAM 通常負責計算機中主要的存儲任務,如數據和程序等動態信息的存儲。RAM 的通用格式包括: SRAM(靜態 RAM)和 DRAM(動態 RAM)。
RAM IC 通常組裝為插槽。常見的標准插槽類型包括:SIMM (Single in-line memory mole)插槽和 DIMM (Dual in-line memory mole)插槽。
此外,還存在一些諸如快閃記憶體(Flash memory)、NVRAM 以及 EEPROM 等存儲器類型,它們是結合 RAM 和 ROM 特徵所獲得的產物。