存儲器是用來存儲程序和數據的部件,有了存儲器,計算機才有記憶功能,才能保證正常工作。它根據控制�指定的位置存進和取出信息�
除處理器之外,各種類型的存儲器是微控制器中最重要的單�,它們用于存儲程序代碼和數據。由于智能卡微控制器是一個完整的計算機,因而其內部存儲器根據其特性分類為RAM、ROM和EEPROM,更精確的劃分參見圖1。在任何情況下,總是努力把RAM和EEPROM做到盡可能小��
�1 智能卡微控制存儲器分類圖(PROM和EPROM在現(xiàn)代微控制器里已不再使�;Flash EEPROM和PRAM是用于智能卡早期開發(fā)的存儲器類型�
對于多應用智能卡,它可以同時管理幾個應�。最常用的芯片中ROM容量約為EEPROM容量的兩�,以便提供足夠的空間來存儲非常復雜的操作系統(tǒng)代碼。對于單應用智能卡來�,所選擇的微控制器的EEPROM容量只是比應用數據的容量稍大一點。所有非固定的應用數據,連同操作系統(tǒng)的某些部分都可以存儲在EEPROM�,所�,才需要優(yōu)化EEPROM的使�。否�,EEPROM要占去芯片中較大的空�,因而相當昂��
從技術上來說,在單個硅晶片上集成三種不同類型的半導體存儲器是相當復雜的,它要求有更多的生產步驟和曝光掩�。每一類型存儲器的結構和工作原理都不盡相同,所要求的空間量的差異也非常�。例如:1個RAM單元就需要占用大�4個EEPROM單元那樣大的空間,�1個EEPROM單元又需要占�4個ROM單元那樣大的空間。這也就是智能卡微控制器中只有很少RAM的原因。通常256字節(jié)的RAM已認為是相當大了。當你明白在相同的面積里可放�1 024字節(jié)的EEPROM�4 096字節(jié)ROM時,就弄明白這個原因了。圖2說明芯片大小關系,各種存儲器的性能比較見表1�
�2 各類型的存儲器每一位單元所占用晶片面積的比�
圖中所標示的尺寸是近似�,并且是�0.8μm技術制造,與之相比�1959年的�1個平面晶體管的直徑是764μm[Buchmann 96,Stix 96�。本書每一句結尾的句號的直徑是400μm,人眼的分辨極限�40μm,一個細菌的大小�0.4~2μm,而一個雙螺旋DNA�0.1rtm�
�1 用于智能卡微控制中的備類存儲器的比較
典型的激光打印機的打印分辨率�600dpi(每英寸的點數),這就意味著其墨點直徑最小為42.6μm。本書句號的面積�125 660μm2,如果用分辨率等�0.8μm(半導體工藝標準)的設備來打印本書的句號(直徑是400flm),就相當于需要一臺具�32 000dpi分辨率的打印��
的高性能硬盤驅動器其存儲量可達每平方英寸11.66b。假設每位都占有一個方形面�,這就是說每一位單元的邊緣長度�0.24rtm。如果智能卡微控制器的ROM單元�0.8ftm技術來制造的�,那么一個ROM單元就需要占�1 700位那么多的面��
對于CD-ROM又有所不同。在這種情況下,存儲密度�7.3MB/cm2,假設它是方形單元的�,這相當于每一位單元的邊緣長度�1.4Pm。這也比用0.8μm技術制造的ROM單元所占面積小約ω倍。對于新的DVD(數字光盤),已經可以達�50.SMB/cm2的密�。這樣的單個位僅占用了一個以0.5μm為邊長的方形面積。要比用0.8μm技術制造的單個ROM單元所占面積還�400��
1 概述
單片機自問世以來,以其極高的性能價格�,日益受到為們的關注。目�,各種各樣的單片機已在工�(yè)控制、儀器儀表以及智能化家用電器等方面得到了廣泛應用�
單片機雖然在一塊VLSI芯片上集成了CPU及一定數量的程序存儲�、數據存儲器和I/O接口,但由于封裝及成本的限制,因而在片資源非常有�,往往難于滿足實際應用的需要。以典型的MCS8051系列單片機為�,其片內ROM一般為4�8k,片內RAM一般為128�256B,而其ROM/RAM尋址能力則都高達64kB。事實上,如果需�,還可借助于通用的I/O接口線進一步擴展其尋址能力。因�,單片機應用系統(tǒng)在設計中不可避免地涉及到了ROM/RAM的擴展問�。目前市場上� ROM/RAM種類敏多,容量不一,但其多數ROM/RAM的引腳是相似�,如果充分利用這一特點,便可使單片機系�(tǒng)更為靈活,擴展更為方便�
2 程序存儲器的兼容性設�
程序存儲器在單片機系�(tǒng)中通常用于存放系統(tǒng)等距離或固定資料(如漢字點陣庫),圖1所示是按兼容性要求設計的程序存儲器電路,標有�***”的引腳將隨所用存儲器芯片的不同而具有不同的功能,可采用跳線的方式進行切換。按�1選擇相應的跳�,即可使該電路適用于多種不同的EPROM芯片.
�1 EPROM跳線選擇�
�2 常見EPROM引腳功能差異對照�
程序存儲器一般多用紫外線擦除的EPROM芯片充任。常用的EPROM芯片及其引腳分配如圖2所�,由圖中可知,除個別引腳�,它們的多數引腳是相似的,有差異的引腳如�2所��
3 數據存儲器的兼容性設�
數據存儲器在單片機系�(tǒng)中一般用于存放工作數�,通常用靜�(tài)RAM(SRAM)芯片充�。在某些應用場合,如果希望數據在掉電后不丟失,可采用電擦除EEROM芯片。常用的RAM及EEROM芯片及其引腳分配如圖3所示,各種芯片有差異的引腳如表3所��
所示為數據存儲器電�,根據所選用的靜�(tài)RAM或EEROM芯片按表4選擇相應位置的跳線可實現(xiàn)數據存儲器芯片的兼容性設��
�3 常見SRAM/EEROM引腳功能差異對照�
�4 SRAM/EEROM跳線選擇�
4 結束�
常用的各種存儲器芯片在引腳結構上均有較好的相似�。在應用系統(tǒng)設計中充分利用這些特點進行兼容性設�,可使存儲器子系�(tǒng)適用多種不同的芯片選�,從而增強系�(tǒng)的靈活性與適用��
存儲器技術的�(fā)展使存儲器系�(tǒng)的性能得到提高,盡管峰值速率依然是存儲器技術最重要的參數之一,但其它結構參數也極大地影響存儲器系�(tǒng)的性能。本文將重點介紹存儲器架構對系統(tǒng)性能的影��
存儲器技術大多數根據其運行速度來命�。例�,PC100 SDRAM器件是指數據速率�100MHz的存儲技�,PC133則表示數據速率�133MHz,等�。盡管這種命名的習慣隨著時間發(fā)展而變化,但通常還是能給潛在買家提供關于存儲器運行速度的信�。事實上,今天的主流存儲技術都是按照其峰值數據速率來命名的,這將繼續(xù)成為評估存儲系統(tǒng)性能的要素之一。不�,在實際系統(tǒng)�,沒有存儲器能完全工作在其峰值速率��
從寫命令轉換到讀命令,在某個時間訪問某個地址,以及刷新數據等操作都要求數據總線在一定時間內保持休止狀�(tài),這樣就不能充分利用存儲器通道。此�,寬并行總線和DRAM內核預取都經常導致不必要的大數據量存�。在指定的時間段�,存儲器控制器能存取的有用數據稱為有效數據速率,這很大程度上取決于系�(tǒng)的特定應�。有效數據速率隨著時間而變�,常低于峰值數據速率。在某些系統(tǒng)�,有效數據速率可下降到峰值速率�10[%]以下�
�1:每百周期發(fā)生兩個總線轉換時的有效數據速率和峰值數據速率�
通常,這些系統(tǒng)受益于那些能產生更高有效數據速率的存儲器技術的變化。在CPU方面存在類似的現(xiàn)象,最近幾年諸如AMD� Transmeta等公司已經指�,在測量基于CPU的系�(tǒng)的性能�,時鐘頻率不是的要素。存儲器技術已經很成熟,峰值速率和有效數據速率或許并不比以前匹配的更好。盡管峰值速率依然是存儲器技術最重要的參數之一,但其他結構參數也可以極大地影響存儲器系�(tǒng)的性能�
影響有效數據速率的參�
有幾類影響有效數據速率的參�,其一是導致數據總線進入若干周期的停止狀�(tài)。在這類參數�,總線轉�、行周期時間、CAS延時以及RAS到CAS的延�(tRCD)引發(fā)系統(tǒng)結構中的大部分延遲問題�
總線轉換本身會在數據通道上產生非常長的停止時間。以GDDR3系統(tǒng)為例,該系統(tǒng)對存儲器的開放頁不斷寫入數據。在這期間,存儲器系�(tǒng)的有效數據速率與其峰值速率相當。不�,假�100個時鐘周期中,存儲器控制器從讀轉換到寫。由于這個轉換需�6個時鐘周�,有效的數據速率下降到峰值速率� 94[%]。在�100個時鐘周期中,如果存儲器控制器將總線從寫轉換到讀的話,將會丟失更多的時鐘周期。這種存儲器技術在從寫轉換到讀時需�15個空閑周期,這會將有效數據速率進一步降低到峰值速率�79[%]。表1顯示出針幾種高性能存儲器技術類似的計算結果�
顯然,所有的存儲器技術并不相�。需要很多總線轉換的系統(tǒng)設計師可以選用諸如XDR、RDRAM或者DDR2這些更高效的技術來提升性能。另一方面,如果系�(tǒng)能將處理事務分組成非常長的讀寫序�,那么總線轉換對有效帶寬的影響最�。不過,其他的增加延遲現(xiàn)�,例如庫(bank)沖突會降低有效帶�,對性能產生負面影響�
DRAM技術要求庫的頁或行在存取之前開�。一旦開�,在一個最小周期時�,即行周期時�(tRC)結束之前,同一個庫中的不同頁不能開�。對存儲器開放庫的不同頁存取被稱為分頁遺漏,這會導致與任何tRC間隔未滿足部分相關的延遲。對于還沒有開放足夠周期以滿足tRC間隙的庫而言,分頁遺漏被稱為庫沖�。而tRC決定了庫沖突延遲時間的長短,在給定的DRAM上可用的庫數量直接影響庫沖突產生的頻��
�2:不同存儲技術的總峰值帶寬以及控制器管腳數的總線帶寬�
大多數存儲器技術有4個或�8個庫,在數十個時鐘周期具有tRC�。在隨機負載情況下,那些具有8個庫的內核比具有4個庫的內核所�(fā)生的庫沖突更�。盡管tRC與庫數量之間的相互影響很復雜,但是其累計影響可用多種方法量化�
存儲器讀事務處理
考慮三種簡單的存儲器讀事務處理情況。種情況,存儲器控制器發(fā)出每個事務處理,該事務處理與前一個事務處理產生一個庫沖突。控制器必須在打開一個頁和打開后�(xù)頁之間等待一個tRC時間,這樣增加了與頁循�(huán)相關的延遲時間。在這種情況下的有效數據速率很大程度上決定于I/O,并主要受限于DRAM內核電路。的庫沖突頻率將有效帶寬削減到當前端存儲器技術峰值的20[%]�30[%]�
在第二種情況下,每個事務處理都以隨機產生的地址為目�。此�,產生庫沖突的機會取決于很多因素,包括tRC和存儲器內核中庫數量之間的相互作�。tRC值越�,開放頁循環(huán)地越�,導致庫沖突的損失越小。此�,存儲器技術具有的庫越多,隨機地址存取庫沖突的機率就越��
第三種情況,每個事務處理就是一次頁命中,在開放頁中尋址不同的列地址??刂破鞑槐卦L問關閉頁,允許完全利用總�,這樣就得到一種理想的情況,即有效數據速率等于峰值速率�
種和第三種情況都涉及到簡單的計算,隨機情況受其他的特性影�,這些特性沒有包括在DRAM或者存儲器接口�。存儲器控制器仲裁和排隊會極大地改善庫沖突頻�,因為更有可能出�(xiàn)不產生沖突的事務處理,而不是那些導致庫沖突的事務處��
然而,增加存儲器隊列深度未必增加不同存儲器技術之間的相對有效數據速率。例如,即使增加存儲器控制隊列深�,XDR的有效數據速率也比 GDDR3�20[%]。存在這種增量主要是因為XDR具有更高的庫數量以及更低的tRC�。一般而言,更短的tRC間隔、更多的庫數量以及更大的控制器隊列能產生更高的有效帶寬�
實際�,很多效率限制現(xiàn)象是與行存取粒度相關的問�。tRC約束本質上要求存儲器控制器從新開放的行中存取一定量的數據,以確保數據管線保持充�。事實上,為保持數據總線無中斷地運行,在開放一個行之后,只須讀取很少量的數�,即使不需要額外的數據�
另外一種減少存儲器系統(tǒng)有效帶寬的主要特性被歸類到列存取粒度范疇,它�(guī)定了每次讀寫操作必須傳輸的數據�。與之相�,行存取粒度�(guī)定每個行激�(一般指每個RAS的CAS操作)需要多少單獨的讀寫操�。列存取粒度對有效數據速率具有不易于量化的巨大影響。因為它�(guī)定一個讀或寫操作中需要傳輸的最小數據量,列存取粒度給那些一次只需要很少數據量的系�(tǒng)帶來了問�。例�,一個需要來自兩列各8字節(jié)�16字節(jié)存取粒度系統(tǒng),必須讀取總�32字節(jié)以存取兩個位置。因為只需�32個字節(jié)中的16個字節(jié),系�(tǒng)的有效數據速率降低到峰值速率�50[%]??偩€帶寬和脈沖時間長度這兩個結構參數規(guī)定了存儲器系�(tǒng)的存取粒度�
�3:目前主流存儲技術的存取粒度和總線帶寬��
總線帶寬是指連接存儲器控制器和存儲器件之間的數據線數量。它設定最小的存取粒度,因為對于一個指定的存儲器事務處�,每條數據線必須至少傳遞一個數據位。而脈沖時間長度則�(guī)定對于指定的事務處理,每條數據線必須傳遞的位數量。每個事務處理中的每條數據線只傳一個數據位的存儲技�,其脈沖時間長度�1。總的列存取粒度很簡單:列存取粒�=總線寬度×脈沖時間長度�
很多系統(tǒng)架構僅僅通過增加DRAM器件和存儲總線帶寬就能增加存儲系�(tǒng)的可用帶寬。畢�,如�4�400MHz數據速率的連接可實�(xiàn) 1.6GHz的總峰值帶寬,那么8個連接將得�3.2GHz。增加一個DRAM器件,電路板上的連線以及ASIC的管腳就會增�,總峰值帶寬相應地倍增�
首要的是,架構師希望完全利用峰值帶�,這已經達到他們通過物理設計存儲器總線所能達到的�。具�256位甚�512位存儲總線的圖形控制器已并不鮮見,這種控制器需�1,000�,甚至更多的管腳。封裝設計師、ASIC底層�(guī)劃工程師以及電路板設計工程師不能找到采用便宜的、商�(yè)上可行的方法來對這么多信號進行布線的硅片區(qū)�。僅僅增加總線寬度來獲得更高的峰值數據速率,會導致因為列存取粒度限制而降低有效帶��
假設某個特定存儲技術的脈沖時間長度等于1,對于一個存儲器處理�512位寬系統(tǒng)的存取粒度為512�(或�64字節(jié))。如果控制器只需要一小段數據,那么剩下的數據就被浪費掉,這就降低了系�(tǒng)的有效數據速率。例�,只需要存儲系�(tǒng)32字節(jié)數據的控制器將浪費剩余的32字節(jié),進而導致有效的數據速率等于50[%]的峰值速率。這些計算都假定脈沖時間長度為1。隨著存儲器接口數據速率增加的趨�,大多數新技術的脈沖時間長度都大�1�
內核預取
一種稱為內核預取的功能主要負責增加最小的脈沖時間長度。DRAM內核電路不能跟上I/O電路速度的速增。由于數據不能再連續(xù)地從內核中取出以確保控制器需�,內核通常為I/O提供比DRAM總線寬度更大的數據集�
本質�,內核傳輸足夠的數據到接口電�,或者從接口電路傳輸足夠的數據,以使接口電路保持足夠長時間的繁忙狀�(tài),以便讓內核準備下一個操�。例�,假設DRAM內核每個納秒才能對操作響應一�。不�,接口可以支持每納秒兩位的數據速率�
DRAM內核每次操作取兩個數據位,而不是一個數據位,因而不必浪費接口一半的容量。在接口傳輸數據之后,內核已經準備好響應下一個請求,而不需增加延時。增加的內核預取導致最小脈沖時間長度增加為2,這將直接影響列存取粒��
對于每個增加到總線寬度的額外信�,存儲器接口將傳輸兩個額外的數據�。因此具有最小脈沖時間長度為2�512位寬的存儲系�(tǒng),其取粒度為 1,024�(128字節(jié))。很多系�(tǒng)對最小存取粒度的問題并不敏感,因為它們存儲大量的數據。不過,某些系統(tǒng)依賴存儲器系�(tǒng)提供小的數據單元,并獲益于更�、更有效的存儲器技��
小結
隨著存儲技術向峰值數據速率�(fā)�,有效的數據速率變的越來越重�。在選擇存儲器時,設計師必須深入了解已公布的存儲器規(guī)�,并明白某個特定的技術特性將對應用設計產生怎樣的影響。存儲器系統(tǒng)設計師必須超越峰值數據速率�(guī)�,就像CPU設計師不再用千兆Hz作為的性能衡量標準一樣。盡管對于存儲器接口而言,峰值數據速率依然是最終要的性能�(guī)�,但有效的數據速率已開始為系統(tǒng)設計師和架構師提供更大的空間。未來產品的性能將極大地取決于其存儲器系�(tǒng)的有效利用程��
維庫電子�,電子知�,一查百��
已收錄詞�162542�