回覆列表
  • 1 # 一口一塊豆腐乳

    儲存器講述工作原理及作用介紹儲存器(Memory)是現代資訊科技中用於儲存資訊的記憶裝置。其概念很廣,有很多層次,在數字系統中,只要能儲存二進位制資料的都可以是儲存器;在積體電路中,一個沒有實物形式的具有儲存功能的電路也叫儲存器,如RAM、FIFO等;在系統中,具有實物形式的儲存裝置也叫儲存器,如記憶體條、TF卡等。計算機中全部資訊,包括輸入的原始資料、計算機程式、中間執行結果和最終執行結果都儲存在儲存器中。它根據控制器指定的位置存入和取出資訊。有了儲存器,計算機才有記憶功能,才能保證正常工作。計算機中的儲存器按用途儲存器可分為主儲存器(記憶體)和輔助儲存器(外存),也有分為外部儲存器和內部儲存器的分類方法。外存通常是磁性介質或光碟等,能長期儲存資訊。記憶體指主機板上的儲存部件,用來存放當前正在執行的資料和程式,但僅用於暫時存放程式和資料,關閉電源或斷電,資料會丟失。儲存器的主要功能是儲存程式和各種資料,並能在計算機執行過程中高速、自動地完成程式或資料的存取。儲存器是具有“記憶”功能的裝置,它採用具有兩種穩定狀態的物理器件來儲存資訊。這些器件也稱為記憶元件。在計算機中採用只有兩個數碼“0”和“1”的二進位制來表示資料。記憶元件的兩種穩定狀態分別表示為“0”和“1”。日常使用的十進位制數必須轉換成等值的二進位制數才能存入儲存器中。計算機中處理的各種字元,例如英文字母、運算子號等,也要轉換成二進位制程式碼才能儲存和操作。儲存器:存放程式和資料的器件儲存位:存放一個二進位制數位的儲存單元,是儲存器最小的儲存單位,或稱記憶單元儲存字:一個數(n位二進位制位)作為一個整體存入或取出時,稱儲存字儲存單元:存放一個儲存字的若干個記憶單元組成一個儲存單元儲存體:大量儲存單元的集合組成儲存體儲存單元地址:儲存單元的編號字編址:對儲存單元按字編址位元組編址:對儲存單元按位元組編址定址:由地址尋找資料,從對應地址的儲存單元中訪存資料。以儲存體(大量儲存單元組成的陣列)為核心,加上必要的地址譯碼、讀寫控制電路,即為儲存積體電路;再加上必要的I/O介面和一些額外的電路如存取策略管理,則形成儲存晶片,比如手機中常用的儲存晶片。得益於新的IC製造或晶片封裝工藝,現在已經有能力把DRAM和FLASH儲存單元整合在單晶片裡。儲存晶片再與控制晶片(負責複雜的存取控制、儲存管理、加密、與其他器件的配合等)及時鐘、電源等必要的元件整合在電路板上構成整機,就是一個儲存產品,如隨身碟。從儲存單元(電晶體陣列)到儲存積體電路再到儲存裝置,都是為了實現資訊的儲存,區別是層次的不同。構成儲存器的儲存介質,儲存元,它可儲存一個二進位制程式碼。由若干個儲存元組成一個儲存單元,然後再由許多儲存單元組成一個儲存器。一個儲存器包含許多儲存單元,每個儲存單元可存放一個位元組(按位元組編址)。每個儲存單元的位置都有一個編號,即地址,一般用十六進位制表示。一個儲存器中所有儲存單元可存放資料的總和稱為它的儲存容量。假設一個儲存器的地址碼由20位二進位制數(即5位十六進位制數)組成,則可表示2的20次方,即1M個儲存單元地址。每個儲存單元存放一個位元組,則該儲存器的儲存容量為1MB。工作原理這裡只介紹動態儲存器(DRAM)的工作原理。動態儲存器每片只有一條輸入資料線,而地址引腳只有8條。為了形成64K地址,必須在系統地址匯流排和晶片地址引線之間專門設計一個地址形成電路。使系統地址匯流排訊號能分時地加到8個地址的引腳上,藉助晶片內部的行鎖存器、列鎖存器和譯碼電路選定晶片內的儲存單元,鎖存訊號也靠著外部地址電路產生。當要從DRAM晶片中讀出資料時,CPU首先將行地址加在A0-A7上,而後送出RAS鎖存訊號,該訊號的下降沿將地址鎖存在晶片內部。接著將列地址加到晶片的A0-A7上,再送CAS鎖存訊號,也是在訊號的下降沿將列地址鎖存在晶片內部。然後保持WE=1,則在CAS有效期間資料輸出並保持。當需要把資料寫入晶片時,行列地址先後將RAS和CAS鎖存在晶片內部,然後,WE有效,加上要寫入的資料,則將該資料寫入選中的存貯單元。由於電容不可能長期保持電荷不變,必須定時對動態儲存電路的各儲存單元執行重讀操作,以保持電荷穩定,這個過程稱為動態儲存器重新整理。PC/XT機中DRAM的重新整理是利用DMA實現的。首先應用可程式設計定時器8253的計數器1,每隔1⒌12μs產生一次DMA請求,該請求加在DMA控制器的0通道上。當DMA控制器0通道的請求得到響應時,DMA控制器送出到重新整理地址訊號,對動態儲存器執行讀操作,每讀一次重新整理一行。主要作用儲存器主要是儲存程式和資料。就象存放貨物的倉庫一樣,人們在倉庫中存放貨物時為了便於存放和拿取,通常將貨物在放的位置進行編號,並且留有存放及拿取的通路。儲存器是由儲存體、地址譯碼器、讀寫控制電路、地址匯流排和資料匯流排組成。能由中央處理器直接隨機存取指令和資料的儲存器稱為主儲存器,磁碟、磁帶、光碟等大容量儲存器稱為外儲存器(或輔助儲存器)。儲存器是計算機的記憶裝置,它的主要功能是存放程式和資料。程式是計算機操作的依據,資料是計算機操作的物件。不管是程式還是資料,在儲存器中都是用二進位制的形式來表示的,並統稱資訊。在計算機中,儲存器容量以位元組(Byte,簡寫為B)為基本單位,一個位元組由8個二進位制位(bit)組成。儲存容量的表示單位除了位元組以外,還有KB、MB、GB、TB(可分別簡稱為K、M、G、T,例如,128MB可簡稱為128M)。其中:1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。儲存器一般分成主儲存器(記憶體)和輔助儲存器(外存)。儲存器的組成見圖。隨機存取儲存器(RAM)主儲存器(記憶體)只讀儲存器(ROM)儲存器硬碟輔助儲存器(外存)軟盤光碟其它圖1.1.2儲存器的組成主儲存器與CPU直接相連,存放當前正在執行的程式和有關資料,存取速度快,但價格較貴,容量不能做得太大,目前微型計算機的記憶體配置一般為128MB或256MB;主儲存器(記憶體)按工作方式又分為隨機存取儲存器(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):只讀儲存器是一種對其內容只能讀不能寫入的儲存器,即預先一次寫入的儲存器。通常用來存放固定不變的資訊。如經常用作微程式控制儲存器。目前已有可重寫的只讀儲存器。常見的有掩模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中。不管選擇哪種儲存器型別,在確定將被用於最終應用系統的儲存器之前,設計工程師必須仔細折中考慮各種設計因素。

  • 中秋節和大豐收的關聯?
  • 我怎樣才能變成大人眼裡的乖乖女呢?