1. 存儲器的原理\
由RS觸發器存儲的一個高低點位表示二進制的0或1,,,,,,,,,N個後就存儲了信息。
2. 電腦存儲設備的儲存原理是什麼!
電腦的存儲設備由兩部分構成,一部分是主存儲器,即內存,它可以直接與CPU交換數據,讀取快,但斷電後數據不能保存;另一部分是輔助存儲器,也叫外存儲器,它不能直接與CPU交換數據,如硬碟、軟盤、光碟等,軟硬碟是靠磁記錄信息的,是同心圓,光碟是光介質,它是一條漸開線,二者的介質不同。早期的電腦是內存大外存小,現在是外存大內存小。滿意就頂一下。
3. 存儲器的讀寫過程是什麼樣的
首頁 采購專區 供應專區 技術資料 環保電子 商情資訊 我的B2BIC
5.1 存儲器系統基本知識
作者: 時間: 2008-04-10 來源:
5.1.1存儲器的分類
按照存儲介質不同,可以將存儲器分為半導體存儲器、磁存儲器、激光存儲器。
這里我們只討論構成內存的半導體存儲器。
按照存儲器的存取功能不同,半導體存儲器可分為只讀存儲器(Read Only Memory簡稱ROM)和隨機存儲器(Random Access Memory簡稱RAM)
1.只讀存儲器(ROM)
ROM的特點是把信息寫入存儲器以後,能長期保存,不會因電源斷電而丟失信息。計算機在運行過程中,只能讀出只讀存儲器中的信息,不能再寫入信息。一般地,只讀存儲器用來存放固定的程序和數據,如微機的監控程序、匯編程序、用戶程序、數據表格等。根據編程方式的不同,ROM共分為以下5種:
(1)掩模工藝ROM
這種ROM是晶元製造廠根據ROM要存貯的信息,設計固定的半導體掩模版進行生產的。一旦制出成品之後,其存貯的信息即可讀出使用,但不能改變。這種ROM常用於批量生產,生產成本比較低。微型機中一些固定不變的程序或數據常採用這種ROM存貯。
(2)可一次性編程ROM(PROM)
為了使用戶能夠根據自己的需要來寫ROM,廠家生產了一種PROM。允許用戶對其進行一次編程──寫入數據或程序。一旦編程之後,信息就永久性地固定下來。用戶可以讀出和使用,但再也無法改變其內容。
(3)紫外線擦除可改寫ROM(EPROM)
可改寫ROM晶元的內容也由用戶寫入,但允許反復擦除重新寫入。EPROM是用電信號編程而用紫外線擦除的只讀存儲器晶元。在晶元外殼上方的中央有一個圓形窗口,通過這個窗口照射紫外線就可以擦除原有的信息。由於陽光中有紫外線的成分,所以程序寫好後要用不透明的標簽封窗口,以避免因陽光照射而破壞程序。EPROM的典型晶元是Intel公司的27系列產品,按存儲容量不同有多種型號,例如2716(2KB′8)、2732(4KB′8)、2764(8KB′8)、27128(16KB′8)、27256(32KB′8)等,型號名稱後的數字表示其存儲容量。
(4)電擦除可改寫ROM(EEPROM或E2PROM)
這是一種用電信號編程也用電信號擦除的ROM晶元,它可以通過讀寫操作進行逐個存儲單元讀出和寫入,且讀寫操作與RAM存儲器幾乎沒有什麼差別,所不同的只是寫入速度慢一些。但斷電後卻能保存信息。典型E2PROM晶元有28C16、28C17、2817A等。
(5)快擦寫ROM(flash ROM)
E2PROM雖然具有既可讀又可寫的特點,但寫入的速度較慢,使用起來不太方便。而flash ROM是在EPROM和E2PROM的基礎上發展起來的一種只讀存儲器,讀寫速度都很快,存取時間可達70ns,存儲容量可達16MB~128MB。這種晶元可改寫次數可從1萬次到100萬次。典型flash ROM晶元有28F256、28F516、AT89等。
2.隨機存儲器RAM(也叫讀寫存儲器)
讀寫存儲器RAM按其製造工藝又可以分為雙極型RAM和金屬氧化物RAM。
(1) 雙極型RAM
雙極型RAM的主要特點是存取時間短,通常為幾到幾十納秒(ns)。與下面提到的MOS型RAM相比,其集成度低、功耗大,而且價格也較高。因此,雙極型RAM主要用於要求存取時間短的微型計算機中。
(2) 金屬氧化物(MOS)RAM
用MOS器件構成的RAM又分為靜態讀寫存儲器(SRAM)和動態讀寫存儲器(DRAM)。
j靜態RAM(SRAM)
靜態RAM的基本存儲單元是MOS雙穩態觸發器。一個觸發器可以存儲一個二進制信息。靜態RAM的主要特點是,其存取時間為幾十到幾百納秒(ns),集成度比較高。目前經常使用的靜態存儲器每片的容量為幾KB到幾十KB。SRAM的功耗比雙極型RAM低,價格也比較便宜。
k動態RAM(DRAM)
動態RAM的存取速度與SRAM的存取速度差不多。其最大的特點是集成度特別高。其功耗比SRAM低,價格也比SRAM便宜。DRAM在使用中需特別注意的是,它是靠晶元內部的電容來存貯信息的。由於存貯在電容上的信息總是要泄漏的,所以,每隔2ms到4ms,DRAM要求對其存貯的信息刷新一次。
l集成RAM(i RAM)
集成RAM――Integrated RAM,縮寫為i RAM,這是一種帶刷新邏輯電路的DRAM。由於它自帶刷新邏輯,因而簡化與微處理器的連接電路,使用它和使用SRAM一樣方便。
m非易失性RAM(NVRAM)
非易失性RAM――Non-Volatile RAM,縮寫為NVRAM,其存儲體由SRAM和EEPROM兩部分組合而成。正常讀寫時,SRAM工作;當要保存信息時(如電源掉電),控制電路將SRAM的內容復制到EEPROM中保存。存入EEPROM中的信息又能夠恢復到SRAM中。
NVRAM既能隨機存取,又具有非易失性,適合用於需要掉電保護的場合。
5.1.2存儲器的主要性能指標
1.存貯容量
不同的存儲器晶元,其容量不一樣。通常用某一晶元有多少個存貯單元,每個存貯單元存貯若干位來表示。例如,靜態RAM6264的容量為8KB′8bit,即它有8K個單元(1K=1024),每個單元存貯8位(一個位元組)數據。
2.存取時間
存取時間即存取晶元中某一個單元的數據所需要的時間。在計算機工作時,CPU在讀寫RAM時,它所提供的讀寫時間必須比RAM晶元所需要的存取時間長。如果不能滿足這一點,微型機則無法正常工作。
3.可靠性
微型計算機要正確地運行,必然要求存儲器系統具有很高的可靠性。內存的任何錯誤就足以使計算機無法工作。而存儲器的可靠性直接與構成它的晶元有關。目前所用的半導體存儲器晶元的平均故障間隔時間(MTBF)大概是(5′106∽1′108)小時左右。
4.功耗
使用功耗低的存儲器晶元構成存儲器系統,不僅可以減少對電源容量的要求,而且還可以提高存貯系統的可靠性。
關於我們 | 網站地圖 | 推薦給朋友 | 友情鏈接 | 服務介紹 | 配套雜志 | IC庫存
E-mail:[email protected]
Copyright (c) 2003-2008 經營許可證號:冀B2 - 20060071 備案序號:冀ICP備字05001825號
Powered by POAKs 5010375
4. 計算機的存儲程序工作原理是什麼
計算機的基本原理是:
存儲程序和程序控制。
預先要把指揮計算機如何進行操作的指令序列(稱為程序)和原始數據通過輸入設備輸送到計算機內存貯器中。
每一條指令中明確規定了計算機從哪個地址取數,進行什麼操作,然後送到什麼地址去等步驟。
1計算機在運行時,先從內存中取出第一條指令,通過控制器的解碼,按指令的要求,從存儲器中取出數據進行指定的運算和邏輯操作等加工,然後再按地址把結果送到內存中去。
2接下來,再取出第二條指令,在控制器的指揮下完成規定操作。依此進行下去。直至遇到停止指令。
3程序與數據一樣存貯,按程序編排的順序,一步一步地取出指令,自動地完成指令規定的操作是計算機最基本的工作原理。
4這一原理最初是由美籍匈牙利數學家馮.諾依曼於1945年提出來的,故稱為馮.諾依曼原理。
5. 存儲程序的原理是什麽
馮·諾依曼結構又稱作普林斯頓體系結構(Princetionarchitecture)。
1945年,馮·諾依曼首先提出了「存儲程序」的概念和二進制原理,後來,人們把利用這種概念和原理設計的電子計算機系統統稱為「馮.諾曼型結構」計算機。馮.諾曼結構的處理器使用同一個存儲器,經由同一個匯流排傳輸。
馮.諾曼結構處理器具有以下幾個特點:
必須有一個存儲器;
必須有一個控制器;
必須有一個運算器,用於完成算術運算和邏輯運算;
必須有輸入和輸出設備,用於進行人機通信。
馮·諾依曼的主要貢獻就是提出並實現了「存儲程序」的概念。由於指令和數據都是二進制碼,指令和操作數的地址又密切相關,因此,當初選擇這種結構是自然的。但是,這種指令和數據共享同一匯流排的結構,使得信息流的傳輸成為限制計算機性能的瓶頸,影響了數據處理速度的提高。
在典型情況下,完成一條指令需要3個步驟,即:取指令、指令解碼和執行指令。從指令流的定時關系也可看出馮·諾依曼結構與哈佛結構處理方式的差別。舉一個最簡單的對存儲器進行讀寫操作的指令,指令1至指令3均為存、取數指令,對馮.諾曼結構處理器,由於取指令和存取數據要從同一個存儲空間存取,經由同一匯流排傳輸,因而它們無法重疊執行,只有一個完成後再進行下一個。
6. 存儲器的基本結構原理
存儲器單元實際上是時序邏輯電路的一種。按存儲器的使用類型可分為只讀存儲器(ROM)和隨機存取存儲器(RAM),兩者的功能有較大的區別,因此在描述上也有所不同
存儲器是許多存儲單元的集合,按單元號順序排列。每個單元由若干三進制位構成,以表示存儲單元中存放的數值,這種結構和數組的結構非常相似,故在VHDL語言中,通常由數組描述存儲器
結構
存儲器結構在MCS - 51系列單片機中,程序存儲器和數據存儲器互相獨立,物理結構也不相同。程序存儲器為只讀存儲器,數據存儲器為隨機存取存儲器。從物理地址空間看,共有4個存儲地址空間,即片內程序存儲器、片外程序存儲器、片內數據存儲器和片外數據存儲器,I/O介面與外部數據存儲器統一編址
存儲器是用來存儲程序和各種數據信息的記憶部件。存儲器可分為主存儲器(簡稱主存或內存)和輔助存儲器(簡稱輔存或外存)兩大類。和CPU直接交換信息的是主存。
主存的工作方式是按存儲單元的地址存放或讀取各類信息,統稱訪問存儲器。主存中匯集存儲單元的載體稱為存儲體,存儲體中每個單元能夠存放一串二進制碼表示的信息,該信息的總位數稱為一個存儲單元的字長。存儲單元的地址與存儲在其中的信息是一一對應的,單元地址只有一個,固定不變,而存儲在其中的信息是可以更換的。
指示每個單元的二進制編碼稱為地址碼。尋找某個單元時,先要給出它的地址碼。暫存這個地址碼的寄存器叫存儲器地址寄存器(MAR)。為可存放從主存的存儲單元內取出的信息或准備存入某存儲單元的信息,還要設置一個存儲器數據寄存器(MDR)
7. 二進制是怎麼表示的CPU的工作原理
CPU的原始工作模式
在了解CPU工作原理之前,我們先簡單談談CPU是如何生產出來的。CPU是在特別純凈的硅材料上製造的。一個CPU晶元包含上百萬個精巧的晶體管。人們在一塊指甲蓋大小的矽片上,用化學的方法蝕刻或光刻出晶體管。因此,從這個意義上說,CPU正是由晶體管組合而成的。簡單而言,晶體管就是微型電子開關,它們是構建CPU的基石,你可以把一個晶體管當作一個電燈開關,它們有個操作位,分別代表兩種狀態:ON(開)和OFF(關)。這一開一關就相當於晶體管的連通與斷開,而這兩種狀態正好與二進制中的基礎狀態「0」和「1」對應!這樣,計算機就具備了處理信息的能力。
但你不要以為,只有簡單的「0」和「1」兩種狀態的晶體管的原理很簡單,其實它們的發展是經過科學家們多年的辛苦研究得來的。在晶體管之前,計算機依靠速度緩慢、低效率的真空電子管和機械開關來處理信息。後來,科研人員把兩個晶體管放置到一個硅晶體中,這樣便創作出第一個集成電路,再後來才有了微處理器。
看到這里,你一定想知道,晶體管是如何利用「0」和「1」這兩種電子信號來執行指令和處理數據的呢?其實,所有電子設備都有自己的電路和開關,電子在電路中流動或斷開,完全由開關來控制,如果你將開關設置為OFF,電子將停止流動,如果你再將其設置為ON,電子又會繼續流動。晶體管的這種ON與OFF的切換只由電子信號控制,我們可以將晶體管稱之為二進制設備。這樣,晶體管的ON狀態用「1」來表示,而OFF狀態則用「0」來表示,就可以組成最簡單的二進制數。眾多晶體管產生的多個「1」與「0」的特殊次序和模式能代表不同的情況,將其定義為字母、數字、顏色和圖形。舉個例子,十進位中的1在二進位模式時也是「1」,2在二進位模式時是「10」,3是「11」,4是「100」,5是「101」,6是「110」等等,依此類推,這就組成了計算機工作採用的二進制語言和數據。成組的晶體管聯合起來可以存儲數值,也可以進行邏輯運算和數字運算。加上石英時鍾的控制,晶體管組就像一部復雜的機器那樣同步地執行它們的功能。
CPU的內部結構
現在我們已經大概知道CPU是負責些什麼事情,但是具體由哪些部件負責處理數據和執行程序呢?
1.算術邏輯單元ALU(Arithmetic Logic Unit)
ALU是運算器的核心。它是以全加器為基礎,輔之以移位寄存器及相應控制邏輯組合而成的電路,在控制信號的作用下可完成加、減、乘、除四則運算和各種邏輯運算。就像剛才提到的,這里就相當於工廠中的生產線,負責運算數據。
2.寄存器組 RS(Register Set或Registers)
RS實質上是CPU中暫時存放數據的地方,裡面保存著那些等待處理的數據,或已經處理過的數據,CPU訪問寄存器所用的時間要比訪問內存的時間短。採用寄存器,可以減少CPU訪問內存的次數,從而提高了CPU的工作速度。但因為受到晶元面積和集成度所限,寄存器組的容量不可能很大。寄存器組可分為專用寄存器和通用寄存器。專用寄存器的作用是固定的,分別寄存相應的數據。而通用寄存器用途廣泛並可由程序員規定其用途。通用寄存器的數目因微處理器而異。
3.控制單元(Control Unit)
正如工廠的物流分配部門,控制單元是整個CPU的指揮控制中心,由指令寄存器IR(Instruction Register)、指令解碼器ID(Instruction Decoder)和操作控制器0C(Operation Controller)三個部件組成,對協調整個電腦有序工作極為重要。它根據用戶預先編好的程序,依次從存儲器中取出各條指令,放在指令寄存器IR中,通過指令解碼(分析)確定應該進行什麼操作,然後通過操作控制器OC,按確定的時序,向相應的部件發出微操作控制信號。操作控制器OC中主要包括節拍脈沖發生器、控制矩陣、時鍾脈沖發生器、復位電路和啟停電路等控制邏輯。
4.匯流排(Bus)
就像工廠中各部位之間的聯系渠道,匯流排實際上是一組導線,是各種公共信號線的集合,用於作為電腦中所有各組成部分傳輸信息共同使用的「公路」。直接和CPU相連的匯流排可稱為局部匯流排。其中包括: 數據匯流排DB(Data Bus)、地址匯流排AB(Address Bus) 、控制匯流排CB(Control Bus)。其中,數據匯流排用來傳輸數據信息;地址匯流排用於傳送CPU發出的地址信息;控制匯流排用來傳送控制信號、時序信號和狀態信息等。
CPU的工作流程
由晶體管組成的CPU是作為處理數據和執行程序的核心,其英文全稱是:Central Processing Unit,即中央處理器。首先,CPU的內部結構可以分為控制單元,邏輯運算單元和存儲單元(包括內部匯流排及緩沖器)三大部分。CPU的工作原理就像一個工廠對產品的加工過程:進入工廠的原料(程序指令),經過物資分配部門(控制單元)的調度分配,被送往生產線(邏輯運算單元),生產出成品(處理後的數據)後,再存儲在倉庫(存儲單元)中,最後等著拿到市場上去賣(交由應用程序使用)。在這個過程中,我們注意到從控制單元開始,CPU就開始了正式的工作,中間的過程是通過邏輯運算單元來進行運算處理,交到存儲單元代表工作的結束。
數據與指令在CPU中的運行
剛才已經為大家介紹了CPU的部件及基本原理情況,現在,我們來看看數據是怎樣在CPU中運行的。我們知道,數據從輸入設備流經內存,等待CPU的處理,這些將要處理的信息是按位元組存儲的,也就是以8位二進制數或8比特為1個單元存儲,這些信息可以是數據或指令。數據可以是二進製表示的字元、數字或顏色等等。而指令告訴CPU對數據執行哪些操作,比如完成加法、減法或移位運算。
我們假設在內存中的數據是最簡單的原始數據。首先,指令指針(Instruction Pointer)會通知CPU,將要執行的指令放置在內存中的存儲位置。因為內存中的每個存儲單元都有編號(稱為地址),可以根據這些地址把數據取出,通過地址匯流排送到控制單元中,指令解碼器從指令寄存器IR中拿來指令,翻譯成CPU可以執行的形式,然後決定完成該指令需要哪些必要的操作,它將告訴算術邏輯單元(ALU)什麼時候計算,告訴指令讀取器什麼時候獲取數值,告訴指令解碼器什麼時候翻譯指令等等。
假如數據被送往算術邏輯單元,數據將會執行指令中規定的算術運算和其他各種運算。當數據處理完畢後,將回到寄存器中,通過不同的指令將數據繼續運行或者通過DB匯流排送到數據緩存器中。
基本上,CPU就是這樣去執行讀出數據、處理數據和往內存寫數據3項基本工作。但在通常情況下,一條指令可以包含按明確順序執行的許多操作,CPU的工作就是執行這些指令,完成一條指令後,CPU的控制單元又將告訴指令讀取器從內存中讀取下一條指令來執行。這個過程不斷快速地重復,快速地執行一條又一條指令,產生你在顯示器上所看到的結果。我們很容易想到,在處理這么多指令和數據的同時,由於數據轉移時差和CPU處理時差,肯定會出現混亂處理的情況。為了保證每個操作準時發生,CPU需要一個時鍾,時鍾控制著CPU所執行的每一個動作。時鍾就像一個節拍器,它不停地發出脈沖,決定CPU的步調和處理時間,這就是我們所熟悉的CPU的標稱速度,也稱為主頻。主頻數值越高,表明CPU的工作速度越快。
如何提高CPU工作效率
既然CPU的主要工作是執行指令和處理數據,那麼工作效率將成為CPU的最主要內容,因此,各CPU廠商也盡力使CPU處理數據的速度更快。
根據CPU的內部運算結構,一些製造廠商在CPU內增加了另一個算術邏輯單元(ALU),或者是另外再設置一個處理非常大和非常小的數據浮點運算單元(Floating Point Unit,FPU),這樣就大大加快了數據運算的速度。
而在執行效率方面,一些廠商通過流水線方式或以幾乎並行工作的方式執行指令的方法來提高指令的執行速度。剛才我們提到,指令的執行需要許多獨立的操作,諸如取指令和解碼等。最初CPU在執行下一條指令之前必須全部執行完上一條指令,而現在則由分布式的電路各自執行操作。也就是說,當這部分的電路完成了一件工作後,第二件工作立即占據了該電路,這樣就大大增加了執行方面的效率。
另外,為了讓指令與指令之間的連接更加准確,現在的CPU通常會採用多種預測方式來控制指令更高效率地執行。參考資料::矽谷動力
8. 圖靈提出了存儲程序的概念和二進制原理
你好,關於這個問題是正確的 圖靈計算機工作原理是依靠「存儲程序」和「程序控制」相結合的計算機工作原理和過程
9. 存儲器的原理是什麼
存儲器講述工作原理及作用
介紹
存儲器(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中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。
10. 存儲器的工作原理是什麼
動態讀寫存貯器(DRAM),以其速度快、集成度高、功耗小、價格低在微型計算機中得到極其廣泛地使用。但動態存儲器同靜態存儲器有不同的工作原理。它是靠內部寄生電容充放電來記憶信息,電容充有電荷為邏輯1,不充電為邏輯0。欲深入了解動態RAM的基本原理請點擊。 動態存儲器有多種系列,如61系列、37系列、41系列、21系列等。圖示為2164晶元的引腳圖。將滑鼠指向相應引腳可看到其對引腳功能。它是一個64K 1bit的DRAM晶元,將8片並接起來,可以構成64KB的動態存儲器。
每片只有一條輸入數據線,而地址引腳只有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控制 器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。
只讀存貯器(ROM)有多種類型。由於EPROM和EEPROM存貯容量大,可多次擦除後重新對它進行編程而寫入新的內容,使用十分方便。尤其是廠家為用戶提供了單獨地擦除器、編程器或插在各種微型機上的編程卡,大大方便了用戶。因此,這種類型的只讀存貯器得到了極其廣泛的應用。7. RAM的工作時序
為保證存儲器准確無誤地工作,加到存儲器上的地址、數據和控制信號必須遵守幾個時間邊界條件。
圖7.1—3示出了RAM讀出過程的定時關系。讀出操作過程如下:
欲讀出單元的地址加到存儲器的地址輸入端;
加入有效的選片信號CS;
在 線上加高電平,經過一段延時後,所選擇單元的內容出現在I/O端;
讓選片信號CS無效,I/O端呈高阻態,本次讀出過程結束。
由於地址緩沖器、解碼器及輸入/輸出電路存在延時,在地址信號加到存儲器上之後,必須等待一段時間tAA,數據才能穩定地傳輸到數據輸出端,這段時間稱為地址存取時間。如果在RAM的地址輸入端已經有穩定地址的條件下,加入選片信號,從選片信號有效到數據穩定輸出,這段時間間隔記為tACS。顯然在進行存儲器讀操作時,只有在地址和選片信號加入,且分別等待tAA和tACS以後,被讀單元的內容才能穩定地出現在數據輸出端,這兩個條件必須同時滿足。圖中tRC為讀周期,他表示該晶元連續進行兩次讀操作必須的時間間隔。
寫操作的定時波形如圖7.1—4所示。寫操作過程如下:
將欲寫入單元的地址加到存儲器的地址輸入端;
在選片信號CS端加上有效電平,使RAM選通;
將待寫入的數據加到數據輸入端;
在 線上加入低電平,進入寫工作狀態;
使選片信號無效,數據輸入線回到高阻狀態。
由於地址改變時,新地址的穩定需要經過一段時間,如果在這段時間內加入寫控制信號(即 變低),就可能將數據錯誤地寫入其他單元。為防止這種情況出現,在寫控制信號有效前,地址必須穩定一段時間tAS,這段時間稱為地址建立時間。同時在寫信號失效後,地址信號至少還要維持一段寫恢復時間tWR。為了保證速度最慢的存儲器晶元的寫入,寫信號有效的時間不得小於寫脈沖寬度tWP。此外,對於寫入的數據,應在寫信號tDW時間內保持穩定,且在寫信號失效後繼續保持tDH時間。在時序圖中還給出了寫周期tWC,它反應了連續進行兩次寫操作所需要的最小時間間隔。對大多數靜態半導體存儲器來說,讀周期和寫周期是相等的,一般為十幾到幾十ns。
ddr一個時鍾周期內穿2次數據
ddr2一個時鍾周期傳4次
所以相同頻率下ddr2的帶寬是ddr的2倍