當前位置:首頁 » 服務存儲 » 存儲器易失性和io開銷的關系
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲器易失性和io開銷的關系

發布時間: 2022-07-01 09:49:16

⑴ 什麼是易失性存儲器什麼是非易失性存儲器

易失性存儲器就是在關閉計算機或者突然性、意外性關閉計算機的時候,裡面的數據會丟失,就像內存。非易失性存儲器在上面的情況下數據不會丟失,像硬碟等外存。

⑵ 能解釋一下內存存取嗎

內存作為計算機的重要部件,近幾年發展迅速,從SDRAM到如今的DDR3,內存經歷了多個技術時代。本文就內存的發展簡單講解內存的存儲原理和內存技術發展歲遇到的瓶頸。

內存和顯存被統稱為記憶體(Memory),全名是動態隨機存取記憶體(DynamicRandomAccessMemory,DRAM)。基本原理就是利用電容內存儲電荷的多寡來代表0和1,這就是一個二進制位元(bit),內存的最小單位。

DRAM的結構可謂是簡單高效,每一個bit只需要一個晶體管加一個電容。但是電容不可避免的存在漏電現象,如果電荷不足會導致數據出錯,因此電容必須被周期性的刷新(預充電),這也是DRAM的一大特點。而且電容的充放電需要一個過程,刷新頻率不可能無限提升(頻障),這就導致DRAM的頻率很容易達到上限,即便有先進工藝的支持也收效甚微。

「上古」時代的FP/EDO內存,由於半導體工藝的限制,頻率只有25MHz/50MHz,自SDR以後頻率從66MHz一路飆升至133MHz,終於遇到了難以逾越的障礙。此後所誕生的DDR1/2/3系列,它們存儲單元官方頻率(JEDEC制定)始終在100MHz-200MHz之間徘徊,非官方(超頻)頻率也頂多在250MHz左右,很難突破300MHz。事實上高頻內存的出錯率很高、穩定性也得不到保證,除了超頻跑簡單測試外並無實際應用價值。

既然存儲單元的頻率(簡稱內核頻率,也就是電容的刷新頻率)不能無限提升,那麼就只有在I/O(輸入輸出)方面做文章,通過改進I/O單元,這就誕生了DDR1/2/3、GDDR1/2/3/4/5等形形色色的內存種類。

通常大家所說的DDR-400、DDR2-800、DDR3-1600等,其實並非是內存的真正頻率,而是業界約定俗成的等效頻率,這些DDR1/2/3內存相當於老牌SDR內存運行在400MHz、800MHz、1600MHz時的帶寬,因此頻率看上去很誇張,其實真正的內核頻率都只有200MHz而已!

內存有三種不同的頻率指標,它們分別是核心頻率、時鍾頻率和有效數據傳輸頻率。核心頻率即為內存Cell陣列(MemoryCellArray,即內部電容)的刷新頻率,它是內存的真實運行頻率;時鍾頻率即I/OBuffer(輸入/輸出緩沖)的傳輸頻率;而有效數據傳輸頻率就是指數據傳送的頻率(即等效頻率)。

●SDR和DDR1/2/3全系列頻率對照表:

內存數據預取技術示意圖:並行轉串列

這種存儲陣列內部的實際位寬較大,但是數據輸出位寬卻比較小的設計,就是所謂的數據預取技術,它可以讓內存的數據傳輸頻率倍增。試想如果我們把一條細水管安裝在粗水管之上,那麼水流的噴射速度就會翻幾倍。

明白了數據預取技術的原理之後,再來看看DDR1/2/3內存的定義,以及三種頻率之間的關系,就豁然開朗了:

●SDRAM(SynchronousDRAM):同步動態隨機存儲器

之所以被稱為「同步」,因為SDR內存的存儲單元頻率、I/O頻率及數據傳輸率都是相同的,比如經典的PC133,三種頻率都是133MHz。

SDR在一個時鍾周期內只能讀/寫一次,只在時鍾上升期讀/寫數據,當同時需要讀取和寫入時,就得等待其中一個動作完成之後才能繼續進行下一個動作。

●DDR(DoubleDateRateSDRAM):雙倍速率同步動態隨機存儲器

雙倍是指在一個時鍾周期內傳輸兩次數據,在時鍾的上升期和下降期各傳輸一次數據(通過差分時鍾技術實現),在存儲陣列頻率不變的情況下,數據傳輸率達到了SDR的兩倍,此時就需要I/O從存儲陣列中預取2bit數據,因此I/O的工作頻率是存儲陣列頻率的兩倍。

DQ頻率和I/O頻率是相同的,因為DQ在時鍾上升和下降研能傳輸兩次數據,也是兩倍於存儲陣列的頻率。

●DDR2(DDR2SDRAM):第二代雙倍速率同步動態隨機存儲器

DDR2在DDR1的基礎上,數據預取位數從2bit擴充至4bit,此時上下行同時傳輸數據(雙倍)已經滿足不了4bit預取的要求,因此I/O控制器頻率必須加倍。

至此,在存儲單元頻率保持133-200MHz不變的情況下,DDR2的實際頻率達到了266-400MHz,而(等效)數據傳輸率達到了533-800MHz。

●DDR3(DDR3SDRAM):第三代雙倍速率同步動態隨機存儲器

DDR3就更容易理解了,數據預取位數再次翻倍到8bit,同理I/O控制器頻率也加倍。此時,在存儲單元頻率保持133-200MHz不變的情況下,DDR3的實際頻率達到了533-800MHz,而(等效)數據傳輸率高達1066-1600MHz。

綜上可以看出,DDR1/2/3的發展是圍繞著數據預取而進行的,同時也給I/O控制器造成了不小的壓力,雖然存儲單元的工作頻率保持不變,但I/O頻率以級數增長,我們可以看到DDR3的I/O頻率已逼近1GHz大關,此時I/O頻率成為了新的瓶頸,如果繼續推出DDR4(注意不是GDDR4,兩者完全不是同一概念,後文會有詳細解釋)的話,將會受到很多未知因素的制約,必須等待更先進的工藝或者新解決方案的出現才有可能延續DDR的生命。

⑶ 計算機存儲器是一種_____。

計算機存儲器又稱內存,是一種利用半導體技術做成的電子設備,用來存儲數據。電子電路的數據是以二進制的方式存儲,存儲器的每一個存儲單元稱做記憶元。

對於32位的操作系統,最多可使用232個地址,即是4GiB。物理地址擴展可以讓處理器在32位操作系統訪問超過4GiB存儲器,發展64位處理器則是根本的解決方法,但操作系統、驅動程序和應用程序都會有兼容性問題。

(3)存儲器易失性和io開銷的關系擴展閱讀:

計算機存儲器可以根據存儲能力與電源的關系可以分為以下兩類:

1.易失性存儲器

易失性存儲器(Volatile memory)是指當電源供應中斷後,存儲器所存儲的數據便會消失的存儲器。

2.非易失性存儲器

非易失性存儲器(Non-volatile memory)是指即使電源供應中斷,存儲器所存儲的數據並不會消失,重新供電後,就能夠讀取存儲器中的數據。 

⑷ I/O與CPU、存儲器的關系

主板介面基礎知識

CPU與外部設備、存儲器的連接和數據交換都需要通過介面設備來實現,前者被稱為I/O介面,而後者則被稱為存儲器介面。存儲器通常在CPU的同步控制下工作,介面電路比較簡單;而I/O設備品種繁多,其相應的介面電路也各不相同,因此,習慣上說到介面只是指I/O介面。

一、I/0介面的概念

1、介面的分類

I/O介面的功能是負責實現CPU通過系統匯流排把I/O電路和 外圍設備聯系在一起,按照電路和設備的復雜程度,I/O介面的硬體主要分為兩大類:

(1)I/O介面晶元

這些晶元大都是集成電路,通過CPU輸入不同的命令和參數,並控制相關的I/O電路和簡單的外設作相應的操作,常見的介面晶元如定時/計數器、中斷控制器、DMA控制器、並行介面等。

(2)I/O介面控制卡

有若干個集成電路按一定的邏輯組成為一個部件,或者直接與CPU同在主板上,或是一個插件插在系統匯流排插槽上。

按照介面的連接對象來分,又可以將他們分為串列介面、並行介面、鍵盤介面和磁碟介面等。

2、介面的功能

由於計算機的外圍設備品種繁多,幾乎都採用了機電傳動設備,因此,CPU在與I/O設備進行數據交換時存在以下問題:

速度不匹配:I/O設備的工作速度要比CPU慢許多,而且由於種類的不 同,他們之間的速度差異也很大,例如硬碟的傳輸速度就要比列印機快出很多。

時序不匹配:各個I/O設備都有自己的定時控制電路,以自己的速度傳 輸數據,無法與CPU的時序取得統一。

信息格式不匹配:不同的I/O設備存儲和處理信息的格式不同,例如可以分為串列和並行兩種;也可以分為二進制格式、ACSII編碼和BCD編碼等。

信息類型不匹配:不同I/O設備採用的信號類型不同,有些是數字信號,而 有些是模擬信號,因此所採用的處理方式也不同。

基於以上原因,CPU與外設之間的數據交換必須通過介面來完成,通常介面有以下一些功能:

(1)設置數據的寄存、緩沖邏輯,以適應CPU與外設之間的速度差異,介面通常由一些寄存器或RAM晶元組成,如果晶元足夠大還可以實現批量數據的傳輸;

(2)能夠進行信息格式的轉換,例如串列和並行的轉換;

(3)能夠協調CPU和外設兩者在信息的類型和電平的差異,如電平轉換驅動器、數/模或模/數轉換器等;

(4)協調時序差異;

(5)地址解碼和設備選擇功能;

(6)設置中斷和DMA控制邏輯,以保證在中斷和DMA允許的情況下產生中斷和DMA請求信號,並在接受到中斷和DMA應答之後完成中斷處理和DMA傳輸。

3、介面的控制方式

CPU通過介面對外設進行控制的方式有以下幾種:

(1)程序查詢方式

這種方式下,CPU通過I/O指令詢問指定外設當前的狀態,如果外設准備就緒,則進行數據的輸入或輸出,否則CPU等待,循環查詢。

這種方式的優點是結構簡單,只需要少量的硬體電路即可,缺點是由於CPU的速度遠遠高於外設,因此通常處於等待狀態,工作效率很低

(2)中斷處理方式

在這種方式下,CPU不再被動等待,而是可以執行其他程序,一旦外設為數據交換准備就緒,可以向CPU提出服務請求,CPU如果響應該請求,便暫時停止當前程序的執行,轉去執行與該請求對應的服務程序,完成後,再繼續執行原來被中斷的程序。

中斷處理方式的優點是顯而易見的,它不但為CPU省去了查詢外設狀態和等待外設就緒所花費的時間,提高了CPU的工作效率,還滿足了外設的實時要求。但需要為每個I/O設備分配一個中斷請求號和相應的中斷服務程序,此外還需要一個中斷控制器(I/O介面晶元)管理I/O設備提出的中斷請求,例如設置中斷屏蔽、中斷請求優先順序等。

此外,中斷處理方式的缺點是每傳送一個字元都要進行中斷,啟動中斷控制器,還要保留和恢復現場以便能繼續原程序的執行,花費的工作量很大,這樣如果需要大量數據交換,系統的性能會很低。

(3)DMA(直接存儲器存取)傳送方式

DMA最明顯的一個特點是它不是用軟體而是採用一個專門的控制器來控制內存與外設之間的數據交流,無須CPU介入,大大提高CPU的工作效率。

在進行DMA數據傳送之前,DMA控制器會向CPU申請匯流排控制 權,CPU如果允許,則將控制權交出,因此,在數據交換時,匯流排控制權由DMA控制器掌握,在傳輸結束後,DMA控制器將匯流排控制權交還給CPU。

二、常見介面

1、並行介面

目前,計算機中的並行介面主要作為列印機埠,介面使用的不再是36針接頭而是25針D形接頭。所謂「並行」,是指8位數據同時通過並行線進行傳送,這樣數據傳送速度大大提高,但並行傳送的線路長度受到限制,因為長度增加,干擾就會增加,容易出錯。

現在有五種常見的並口:4位、8位、半8位、EPP和ECP,大多數PC機配有4位或8位的並口,許多利用Intel386晶元組的便攜機配有EPP口,支持全部IEEE1284並口規格的計算機配有ECP並口。

標准並行口4位、8位、半8位:4位口一次只能輸入4位數據,但可以輸出8位數據;8位口可以一次輸入和輸出8位數據;半8位也可以。

EPP口(增強並行口):由Intel等公司開發,允許8位雙向數據傳送,可以連接各種非列印機設備,如掃描儀、LAN適配器、磁碟驅動器和CDROM 驅動器等。

ECP口(擴展並行口):由Microsoft、HP公司開發,能支持命令周期、數據周期和多個邏輯設備定址,在多任務環境下可以使用DMA(直接存儲器 訪問)。

目前幾乎所有的586機的主板都集成了並行口插座,標注為 Paralle1或LPT1,是一個26針的雙排針插座。

2、串列介面

計算機的另一種標准介面是串列口,現在的PC機一般至少有兩個串列口COM1和COM2。串列口不同於並行口之處在於它的數據和控制信息是一位接一位串列地傳送下去。這樣,雖然速度會慢一些,但傳送距離較並行口更長,因此長距離的通信應使用串列口。通常COM1使用的是9針D形連接器,而COM2有些使 用的是老式的DB25針連接器。

3、磁碟介面

(1)IDE介面

IDE介面也叫做ATA埠,只可以接兩個容量不超過528M的硬碟驅動器,介面的成本很低,因此在386、486時期非常流行。但大多數IDE介面不支持DMA數據傳送,只能使用標準的PCI/O埠指令來傳送所有的命令、狀態、數據。幾乎所有的586主板上都集成了兩個40針的雙排針IDE介面插座,分別標注為IDE1和IDE2。

(2)EIDE介面

EIDE介面較IDE介面有了很大改進,是目前最流行的介面。首先,它所支持的外設不再是2個而是4個了,所支持的設備除了硬碟,還包括CD-ROM驅動器磁碟備份設備等。其次,EIDE標准取消了528MB的限制,代之以8GP限制。第三,EIDE有更高的數據傳送速率,支持PIO模式3和模式4標准。

4、SCSI介面

SCSI(SmallComputerSystemInterface)小計算機系統介面,在做圖形處理和網路服務的計算機中被廣泛採用SCSI介面的硬碟。除了硬碟以外,SCSI介面還可以連接CD-ROM驅動器、掃描儀和列印機等,它具有以下特點:

可同時連接7個外設;

匯流排配置為並行8位、16位或32位;

允許最大硬碟空間為8.4GB(有些已達到9.09GB);

更高的數據傳輸速率,IDE是2MB每秒,SCSI通常可以達到5MB每秒,FASTSCSI(SCSI-2)能達到10MB每秒,最新的SCSI-3甚至能夠達到40MB每秒,而EIDE最高只能達到16.6MB每秒;

成本較IDE和EIDE介面高很多,而且,SCSI介面硬碟必須和SCSI介面卡配合使用,SCSI介面卡也比IED和EIDE介面貴很多。

SCSI介面是智能化的,可以彼此通信而不增加CPU的負擔。在IDE和EIDE設備之間傳輸數據時,CPU必須介入,而SCSI設備在數據傳輸過程中起主動作用,並能在SCSI匯流排內部具體執行,直至完成再通知CPU。

5、USB介面

最新的USB串列介面標準是由Microsoft、Intel、Compaq、IBM等大公司共同推出,它提供機箱外的熱即插即用連接,用戶在連接外設時不用再打開機箱、關閉電源,而是採用「級聯」方式,每個USB設備用一個USB插頭連接到一個外設的USB插座上,而其本身又提供一個USB插座給下一個USB設備使用,通過 這種方式的連接,一個USB控制器可以連接多達127個外設,而每個外設間的距離可達5米。USB統一的4針圓形插頭將取代機箱後的眾多的串/並口(滑鼠、MODEM)鍵盤等插頭。USB能智能識別USB鏈上外圍設備的插入或拆卸。 除了能夠連接鍵盤、滑鼠等,USB還可以連接ISDN、電話系統、數字音響、列印機以及掃描儀等低速外設。

三、I/O擴展槽

I/O擴展槽即I/O信號傳輸的路徑,是系統匯流排的延伸,可以插入任意的標准選件,如顯示卡、解壓卡、MODEM卡和音效卡等。通過I/O擴展槽,CPU可對連接到該通道的所有I/O介面晶元和控制卡定址訪問,進行讀寫。

根據匯流排的類型不同,主板上的擴展槽可分為ISA、EISA、MAC、VESA和PCI幾種。

(1)ISA插槽

黑色,分為8位、16位兩種。16位的擴展槽可以插8位和16位的控制卡,但8位的擴展槽只能插8位卡。

(2)EISA插槽

棕色,外型、長度與16位的ISA卡一樣,但深度較大,可插入ISA與EISA控制卡。

(3)VESA插槽

棕色,位於16位ISA擴展插槽的下方,與ISA插槽配合使用。

(4)PCI插槽

白色,與VESA插槽一樣長,與ISA插槽平行,不需要與ISA插槽配合使用,而且只能插入PCI控制卡。由於主板的空間有限,PCI插槽要佔用ISA插槽的位置
參考資料:http://www.caiblog.com/289/eleccomm2000/55789.shtml

⑸ 第一級存儲器和第二級存儲器是否都具有易失性

在許多常見的應用中,微處理器要求用非易失性存儲器來存放其可執行代碼、變數和其他暫態數據。ROM、EPROM或Flash Memory(快閃記憶體)常被用來存放可執行代碼(因這些代碼不會被頻繁修改)

⑹ 下面列出的四種存儲器中,易失性存儲器是

答案:A、RAM

RAM-RamdomAccessMemory易失性隨機存取存儲器,高速存取,讀寫時間相等,與地址無關,如計算機存儲器。

ROM-Read Only Memory只讀存儲器。斷電後信息不會丟失,如計算機啟動的BIOS晶元。訪問速度非常低(與RAM相比),無法重寫。現在很少使用它,因為它不能覆蓋信息或升級。

PROM-Programmable Red-Only Memory指的是「可編程只讀存儲器」。這樣的產品只允許寫入一次,所以也被稱為「一次可編程只讀存儲器」(One Time Progarmming ROM,OTP-ROM)。

CD-ROM(Compact Disc Read-Only Memory)只讀光碟是計算機上使用的一種光碟。這種光碟只能寫入一次數據,信息將永久保存在光碟上。使用時,信息將通過光碟機讀取。CD格式最初是為音樂存儲和播放而設計的。

(6)存儲器易失性和io開銷的關系擴展閱讀:

RAM通常用作操作系統或其他運行程序的臨時存儲介質(稱為系統內存)。然而,當電源關閉時,RAM無法保留數據,如果需要存儲數據,則必須將其寫入長期內存(如硬碟)。因此,RAM有時被稱為「可變內存」。RAM內存可以進一步分為靜態RAM(SRAM)和動態內存(DRAM)。由於其單位容量價格低廉,DRAM被廣泛用作系統的主存儲器。

⑺ 存儲器中,易失性存儲器是

就是像內存,緩存一樣的斷電後,存儲器中的數據就會丟失。英文縮寫是RAM。也名隨機存取記憶體。
這樣的回答行了吧

⑻ 存儲器的原理是什麼

存儲器講述工作原理及作用

介紹

存儲器(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中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。