當前位置:名人名言大全網 - 經典說說 - 記憶的原理是什麽?

記憶的原理是什麽?

記憶告訴工作原理和功能。

介紹

存儲器是現代信息技術中用來保存信息的存儲設備。它的概念很廣,有很多層次,在數字系統中,只要能保存二進制數據,就可以是內存;在集成電路中,沒有物理形態的具有存儲功能的電路也稱為存儲器,如RAM、FIFO等。在系統中,物理存儲設備也叫存儲器,比如內存條、TF卡等。計算機中的所有信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果,都存儲在存儲器中。它根據控制器指定的位置存儲和檢索信息。有了內存,電腦就有了記憶功能,保證了正常工作。計算機中的內存可分為主存(內存)和輔存(外存),也有外存和內存的分類方法。外部存儲器通常是磁介質或光盤,可以長時間存儲信息。內存是指主板上的存儲部件,用來存儲當前正在執行的數據和程序,但只是用來臨時存儲程序和數據。當電源關閉或斷電時,數據會丟失。

內存的主要作用是存儲程序和各種數據,在計算機運行過程中能自動高速存取程序或數據。存儲器是壹種具有“記憶”功能的器件,利用具有兩種穩定狀態的物理器件來存儲信息。這些器件也被稱為存儲元件。在計算機中,只用“0”和“1”兩位數來表示數據。

存儲元件的兩個穩定狀態分別是“0”和“1”。日常生活中使用的十進制數必須轉換成等價的二進制數才能存入內存。在計算機中處理的各種字符,如英文字母和操作符號,必須先轉換成二進制碼才能存儲和操作。

存儲器:用於存儲程序和數據的器件存儲位:用於存儲二進制位的存儲單元,是最小的存儲單位,或稱存儲單元存儲字:當壹個數(n位二進制位)作為壹個整體存儲或取出時,稱為存儲單元:存儲壹個存儲字的若幹存儲單元組成存儲單元庫:大量存儲單元組成存儲單元庫;存儲單元地址:存儲單元數字字的尋址。

以存儲體(由大量存儲單元組成的陣列)為核心,加上必要的地址解碼和讀寫控制電路,形成存儲器集成電路。加上必要的I/O接口和壹些諸如訪問策略管理之類的附加電路,就形成了諸如通常在移動電話中使用的存儲器芯片。由於新的集成電路制造或芯片封裝技術,現在可以將DRAM和閃存單元集成到單個芯片中。存儲芯片、控制芯片(負責復雜的訪問控制、存儲管理、加密、與其他設備的協作等。)和時鐘、電源等必要的元器件集成在電路板上,形成整機,就是存儲產品,比如u盤。從存儲單元(晶體管陣列)到存儲集成電路再到存儲器件,都是存儲信息,區別是層次不同。

壹種構成存儲器的存儲介質,壹種可以存儲二進制代碼的存儲元件。壹個存儲單元由幾個存儲元件組成,然後壹個存儲器由許多存儲單元組成。壹個存儲器包含許多存儲單元,每個存儲單元可以保存壹個字節(按字節尋址)。每個存儲單元的位置都有壹個數字,即地址,壹般用十六進制表示。壹個存儲器中所有存儲單元所能存儲的數據的總和稱為其存儲容量。假設壹個存儲器的地址碼由20位二進制數(即5位十六進制數)組成,可以表示2的20次方,即1M個存儲單元地址。每個存儲單元存儲壹個字節,所以存儲器的存儲容量為1MB。

操作原理

這裏只介紹動態存儲器(DRAM)的工作原理。

動態存儲器每個芯片只有壹條輸入數據線和八個地址引腳。為了形成64K地址,必須在系統地址總線和芯片地址引線之間專門設計壹個地址形成電路。系統地址總線信號可以分時加到8個地址的管腳上,通過芯片內部的行鎖存、列鎖存和解碼電路選擇芯片內的存儲單元,鎖存信號也由外部地址電路產生。當從DRAM芯片中讀取數據時,CPU首先將行地址加到A0-A7,然後發出RAS鎖存信號,其下降沿鎖存芯片中的地址。然後將列地址加到芯片的A0-A7,然後發送CAS latch信號,該信號也在信號的下降沿鎖存芯片中的列地址。然後保持WE=1,在CAS有效期內,數據會被輸出並保存。

當需要將數據寫入芯片時,行和列地址鎖定芯片中的RAS和CAS,然後,WE有效,待寫入的數據被寫入選定的存儲單元。因為電容不可能長時間保持電荷不變,所以需要周期性地重新讀取動態存儲電路的每個存儲單元,以保持電荷穩定。這個過程稱為動態內存刷新。PC/XT機中DRAM的刷新是通過DMA實現的。首先,可編程定時器8253的計數器1用於在每個1⒌12μs產生壹個DMA請求,該請求被添加到DMA控制器的0通道。當DMA控制器的通道0的請求被響應時,DMA控制器發送刷新地址信號來讀取動態存儲器,並且每次刷新壹行。

主要功能

內存主要存儲程序和數據。就像存放貨物的倉庫壹樣,人們通常會對倉庫中的貨物進行編號,以方便存取,並留有存取的通道。

該存儲器由存儲體、地址解碼器、讀寫控制電路、地址總線和數據總線組成。能夠由中央處理器直接隨機存取指令和數據的存儲器稱為主存儲器,磁盤、磁帶、光盤等大容量存儲器稱為外存儲器(或輔助存儲器)。內存是計算機的存儲設備,主要功能是存儲程序和數據。程序是計算機操作的基礎,數據是計算機操作的對象。程序和數據在內存中都以二進制形式表示,統稱為信息。在計算機中,內存容量是以字節(縮寫為B)為單位的,壹個字節由八個二進制位組成。存儲容量除了字節外,還有KB、MB、GB、TB(可以分別縮寫為K、M、G、T,例如128MB可以縮寫為128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。內存壹般分為主存(內存)和輔存(外存)。存儲器的組成如圖所示。隨機存取存儲器(RAM)主存儲器(內部存儲器)只讀存儲器(ROM)內存硬盤輔助存儲器(外部存儲器)軟盤其他圖1.1.2內存的組成。主存儲器直接連接到CPU,存儲當前運行的程序和相關數據。訪問速度快,但是價格貴,容量不能太大。目前微機的內存配置壹般是65438+。主存儲器(memory)按工作方式分為隨機存取存儲器(RAM)和只讀存儲器(ROM)。隨機存取存儲器(RAM)中的數據可以隨機讀取或寫入,它用於存儲從外部存儲器傳輸的程序和相關數據以及從CPU發送的數據。人們通常所說的內存其實指的是RAM。

按存儲介質分類

(1)半導體存儲器由半導體器件組成的存儲器稱為半導體存儲器;特點:集成度高、容量大、體積小、存取速度快、功耗低、價格低、維護簡單。主要分為兩類:雙極存儲器:TTL型和ECL型。金屬氧化物半導體存儲器(簡稱MOS存儲器):靜態MOS存儲器和動態MOS存儲器。

(2)磁面存儲器由磁性材料制成的存儲器稱為磁面存儲器,或簡稱磁存儲器。它包括磁盤存儲、磁帶存儲等。特點:體積大,生產自動化程度低,存取速度慢,但存儲容量遠大於半導體存儲器且不易丟失。

(3)激光存儲信息以凹口的形式存儲在盤面上,用激光束照射盤面,利用盤面的不同反射率讀取信息。光盤可分為三種:CD-ROM、WORM和MOD。

2.按訪問方法分類

(1)隨機存取存儲器(RAM):如果存儲器中任何壹個存儲單元的內容都可以被隨機存取,並且存取時間與存儲單元的物理位置無關,這種存儲器稱為隨機存取存儲器(RAM)。RAM主要用於存儲各種輸入輸出程序、數據、中間運算結果、與外界交換的信息以及用於堆棧。隨機存取存儲器主要充當高速緩沖存儲器和主存儲器。

(2)串行存取存儲器(SAS):如果存儲器只能按壹定的順序存取,即存取時間與存儲單元的物理位置有關,那麽這種存儲器稱為串行存取存儲器。串行存儲器可分為順序存取存儲器(SAM)和直接存取存儲器(DAM)。順序存取存儲器是完整的串行存取存儲器,例如磁帶,其中信息從存儲介質的開始以順序方式寫入(或讀取);直接存取存儲器是串行存取存儲器的壹部分,如磁盤存儲器,它介於順序存取和隨機存取之間。

(3)只讀存儲器(ROM):只讀存儲器是壹種內容只能讀不能寫的存儲器,即預先寫壹次的存儲器。通常用於存儲固定信息。例如通常用於微程序控制的存儲器。目前有可擦寫只讀存儲器。常見的有掩模只讀存儲器(MROM)、可擦除可編程只讀存儲器(EPROM)和電可擦除可編程只讀存儲器(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等更高效的技術來提高性能。另壹方面,如果系統可以將事務劃分為很長的讀寫序列,那麽總線轉換對有效帶寬的影響最小。然而,其他增加延遲的現象,如存儲體沖突,將減少有效帶寬,並對性能產生負面影響。

DRAM技術要求在訪問之前打開庫的頁面或行。壹旦打開,在最小周期時間,即生產線周期時間(tRC)結束之前,不能打開同壹庫中的不同頁面。對開放存儲器組的不同頁面訪問被稱為頁面未命中,這可能導致與任何tRC間隔的未滿足部分相關的延遲。對於沒有開放足夠多周期來滿足tRC缺口的庫,頁面缺失被稱為庫沖突。TRC確定存儲體沖突的延遲時間,並且給定DRAM上可用的存儲體數量直接影響存儲體沖突的頻率。

大多數存儲器技術具有四個或八個存儲體,並且在幾十個時鐘周期中具有tRC值。在隨機負載下,具有8個庫的核心比具有4個庫的核心具有更少的庫沖突。盡管tRC和文庫數量之間的相互作用是復雜的,但它的累積影響可以用許多方法量化。

存儲器讀取事務處理

考慮三個簡單的內存讀取事務。在第壹種情況下,內存控制器發出每個事務,這與前壹個事務生成的庫相沖突。控制器必須在打開壹個頁面和打開後續頁面之間等待壹個tRC時間,這增加了與頁面循環相關的最大延遲時間。這種情況下的有效數據速率很大程度上取決於I/O,並且主要受DRAM核心電路的限制。最大存儲體沖突頻率將有效帶寬降低到最高端存儲器技術的當前峰值的20%至30%。

在第二種情況下,每個事務都以隨機生成的地址為目標。這個時候庫沖突的幾率取決於很多因素,包括tRC和內存核心中庫的數量的相互作用。tRC值越小,打開的頁面流通越快,庫沖突造成的損失越小。另外,內存技術的存儲體越多,隨機地址訪問存儲體沖突的概率就越小。

在第三種情況下,每個事務都是頁面命中,並且在打開的頁面中尋址不同的列地址。控制器不需要訪問關閉的頁面,允許充分利用總線,從而獲得有效數據速率等於峰值速率的理想情況。

第壹種和第三種情況涉及簡單計算,隨機情況受其他特性影響,這些特性不包括在DRAM或存儲器接口中。內存控制器仲裁和排隊將大大提高存儲體沖突的頻率,因為不引起沖突的事務比引起存儲體沖突的事務更容易發生。

然而,增加存儲器隊列深度不壹定會增加不同存儲器技術之間的相對有效數據速率。例如,即使增加內存控制隊列的深度,XDR的有效數據速率也比GDDR3高20%。這種增加主要是因為XDR有更多的庫和更低的tRC值。壹般來說,更短的tRC間隔、更多的庫和更大的控制器隊列可以產生更高的有效帶寬。

事實上,許多效率限制都與行訪問的粒度有關。TRC約束本質上要求存儲器控制器從新打開的行中訪問壹定量的數據,以確保數據流水線保持滿。事實上,為了保持數據總線不間斷運行,即使不需要額外的數據,在打開壹行後也只需要讀取少量的數據。

減小存儲器系統的有效帶寬的另壹個主要特征被分類為列訪問粒度的類別,列訪問粒度指定了對於每個讀和寫操作必須傳輸的數據量。相反,行訪問的粒度指定了每個行激活需要多少個單獨的讀寫操作(壹般指每個RAS的CAS操作)。列訪問粒度對有效數據率的影響很大,不容易量化。因為它指定了在壹次讀或寫操作中需要傳輸的最小數據量,所以列訪問的粒度給那些壹次只需要少量數據的系統帶來了問題。例如,壹個16字節的訪問粒度系統需要來自兩列的8個字節,必須讀取總共***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或flash存儲器來滿足系統對非易失性存儲器的需求。

2.引導存儲器

在較大的微控制器系統或基於處理器的系統中,設計工程師可以使用引導代碼進行初始化。應用程序本身通常決定是否需要引導代碼以及是否需要特殊的引導內存。例如,如果沒有外部尋址總線或串行引導接口,通常在沒有特殊引導設備的情況下使用內部存儲器。然而,在壹些沒有內部程序存儲器的系統中,初始化是操作代碼的壹部分,因此所有代碼將駐留在同壹個外部程序存儲器中。壹些微控制器既有內部存儲器又有外部尋址總線。在這種情況下,引導代碼將駐留在內部存儲器中,操作代碼將駐留在外部存儲器中。這可能是最安全的方法,因為在更改操作碼時不會出現意外修改引導碼的情況。在所有情況下,引導存儲器必須是非易失性存儲器。

任何類型的存儲器都可以用來滿足嵌入式系統的要求,但終端應用和總成本要求通常是影響我們決策的主要因素。有時,組合幾種類型的存儲器可以更好地滿足應用系統的要求。例如,壹些PDA設計使用易失性存儲器和非易失性存儲器作為程序存儲器和數據存儲器。永久性程序存儲在非易失性ROM中,而用戶下載的程序和數據存儲在有電池支持的易失性DRAM中。無論選擇哪種類型的存儲器,設計工程師在確定最終應用系統中使用的存儲器之前,必須仔細考慮各種設計因素。