當前位置:首頁 » 服務存儲 » 存儲器如何管理數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

存儲器如何管理數據

發布時間: 2022-08-12 23:29:03

存儲器對文件是怎樣存儲的機制是什麽

存儲器分為內存儲器(簡稱內存或主存)、外存儲器(簡稱外存或輔存)。外存儲器一般也可作為輸入/輸出設備。計算機把要執行的程序和數據存入內存中,內存一般由半導體器構成。半導體存儲器可分為三大類:隨機存儲器、只讀存儲器、特殊存儲器。
RAM
RAM是隨機存取存儲器(Random Access Memory),其特點是可以讀寫,存取任一單元所需的時間相同,通電是存儲器內的內容可以保持,斷電後,存儲的內容立即消失。RAM可分為動態(Dynamic RAM)和靜態(Static RAM)兩大類。所謂動態隨機存儲器DRAM是用MOS電路和電容來作存儲元件的。由於電容會放電,所以需要定時充電以維持存儲內容的正確,例如互隔2ms刷新一次,因此稱這為動態存儲器。所謂靜態隨機存儲器SRAM是用雙極型電路或MOS電路的觸發器來作存儲元件的,它沒有電容放電造成的刷新問題。只要有電源正常供電,觸發器就能穩定地存儲數據。DRAM的特點是集成密度高,主要用於大容量存儲器。SRAM的特點是存取速度快,主要用於調整緩沖存儲器。
ROM
ROM是只讀存儲器(Read Only Memory),它只能讀出原有的內容,不能由用戶再寫入新內容。原來存儲的內容是由廠家一次性寫放的,並永久保存下來。ROM可分為可編程(Programmable)ROM、可擦除可編程(Erasable Programmable)ROM、電擦除可編程(Electrically Erasable Programmable)ROM。如,EPROM存儲的內容可以通過紫外光照射來擦除,這使它的內可以反復更改。
特殊固態存儲器
包括電荷耦合存儲器、磁泡存儲器、電子束存儲器等,它們多用於特殊領域內的信息存儲。
此外,描述內、外存儲容量的常用單位有:
①位/比特(bit):這是內存中最小的單位,二進制數序列中的一個0或一個1就是一比比特,在電腦中,一個比特對應著一個晶體管。
②位元組(B、Byte):是計算機中最常用、最基本的存在單位。一個位元組等於8個比特,即1 Byte=8bit。
③千位元組(KB、Kilo Byte):電腦的內存容量都很大,一般都是以千位元組作單位來表示。1KB=1024Byte。
④兆位元組(MB Mega Byte):90年代流行微機的硬碟和內存等一般都是以兆位元組(MB)為單位。1 MB=1024KB。
⑤吉位元組(GB、Giga Byte):目前市場流行的微機的硬碟已經達到4.3GB、6.4GB、8.1GB、12G、13GB等規格。1GB=1024MB。
⑥太位元組(TB、Tera byte):1TB=1024GB。
(三)輸入/輸出設備
輸入設備是用來接受用戶輸入的原始數據和程序,並將它們變為計算機能識別的二進制存入到內存中。常用的輸入設備有鍵盤、滑鼠、掃描儀、光筆等。
輸出設備用於將存入在內存中的由計算機處理的結果轉變為人們能接受的形式輸出。常用的輸出設備有顯示器、列印機、繪圖儀等。
(四)匯流排
匯流排是一組為系統部件之間數據傳送的公用信號線。具有匯集與分配數據信號、選擇發送信號的部件與接收信號的部件、匯流排控制權的建立與轉移等功能。典型的微機計算機系統的結構如圖2-3所示,通常多採用單匯流排結構,一般按信號類型將匯流排分為三組,其中AB(Address Bus)為地址匯流排;DB(Data Bus)為數據匯流排;CB(Control Bus)控制匯流排。
(五)微型計算機主要技術指標
①CPU類型:是指微機系統所採用的CPU晶元型號,它決定了微機系統的檔次。
②字長:是指CPU一次最多可同時傳送和處理的二進制位數,安長直接影響到計算機的功能、用途和應用范圍。如Pentium是64位字長的微處理器,即數據位數是64位,而它的定址位數是32位。
③時鍾頻率和機器周期:時鍾頻率又稱主頻,它是指CPU內部晶振的頻率,常用單位為兆(MHz),它反映了CPU的基本工作節拍。一個機器周期由若干個時鍾周期組成,在機器語言中,使用執行一條指令所需要的機器周期數來說明指令執行的速度。一般使用CPU類型和時鍾頻率來說明計算機的檔次。如Pentium III 500等。
④運算速度:是指計算機每秒能執行的指令數。單位有MIPS(每秒百萬條指令)、MFLOPS(秒百萬條浮點指令)
⑤存取速度:是指存儲器完成一次讀取或寫存操作所需的時間,稱為存儲器的存取時間或訪問時間。而邊連續兩次或寫所需要的最短時間,稱為存儲周期。對於半導體存儲器來說,存取周期大約為幾十到幾百毫秒之間。它的快慢會影響到計算機的速度。
⑥內、外存儲器容量:是指內存存儲容量,即內容儲存器能夠存儲信息的位元組數。外儲器是可將程序和數據永久保存的存儲介質,可以說其容量是無限的。如硬碟、軟盤已是微機系統中不可缺少的外部設備。迄今為止,所有的計算機系統都是基於馮·諾依曼存儲程序的原理。內、外存容量越大,所能運行的軟體功能就越豐富。CPU的高速度和外存儲器的低速度是微機系統工作過程中的主要瓶頸現象,不過由於硬碟的存取速度不斷提高,目前這種現象已有所改善。

㈡ 計算機儲存原理

動態存儲器(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控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。

(2)存儲器如何管理數據擴展閱讀

描述內、外存儲容量的常用單位有:

1、位/比特(bit):這是內存中最小的單位,二進制數序列中的一個0或一個1就是一比比特,在電腦中,一個比特對應著一個晶體管。

2、位元組(B、Byte):是計算機中最常用、最基本的存在單位。一個位元組等於8個比特,即1 Byte=8bit。

3、千位元組(KB、Kilo Byte):電腦的內存容量都很大,一般都是以千位元組作單位來表示。1KB=1024Byte。

4、兆位元組(MBMega Byte):90年代流行微機的硬碟和內存等一般都是以兆位元組(MB)為單位。1 MB=1024KB。

5、吉位元組(GB、Giga Byte):市場流行的微機的硬碟已經達到430GB、640GB、810GB、1TB等規格。1GB=1024MB。

6、太位元組(TB、Tera byte):1TB=1024GB。最新有了PB這個概念,1PB=1024TB。

㈢ 簡述存儲管理的主要功能

1、定址空間

操作系統讓系統看上去有比實際內存大得多的內存空間。虛擬內存可以是系統中實際物理空間的許多倍。每個進程運行在其獨立的虛擬地址空間中。

這些虛擬空間相互之間都完全隔離開來,所以進程間不會互相影響。同時,硬體虛擬內存機構可以將內存的某些區域設置成不可寫。這樣可以保護代碼與數據不會受惡意程序的干擾。

2、存儲管理內存映射

內存映射技術可以將映象文件和數據文件直接映射到進程的地址空間。在內存映射中,文件的內容被直接連接到進程虛擬地址空間上。

3、存儲管理物理內存分配

內存管理子系統允許系統中每個運行的進程公平地共享系統中的物理內存。

4、存儲管理共享虛擬內存

盡管虛擬內存允許進程有其獨立的虛擬地址空間,但有時也需要在進程之間共享內存。 例如有可能系統中有幾個進程同時運行BASH命令外殼程序。為了避免在每個進程的虛擬內存空間內都存在BASH程序的拷貝,較好的解決辦法是系統物理內存中只存在一份BASH的拷貝並在多個進程間共享。

(3)存儲器如何管理數據擴展閱讀:

相關延伸:存儲管理存儲知識結構

1、系統管理:UNIX/Linux/Windows操作系統管理。

2、開發技術:C/C++,網路編程,多進程/多線程,進程間通信。

3、存儲基礎:磁碟、RAID陣列、文件系統等存儲相關硬體和軟體的安裝、配置、調試。

4、存儲系統:RAID,DAS,SAN,NAS, CAS等。

5、存儲協議:TCP/IP,SCSI,iSCSI,NFS/CIFS等。

6、文件系統:VFS, EXTx/NTFS/FAT32等磁碟文件系統,NFS/CIFS網路文件系統,Lustre/GFS/AFS等分布式文件系統。

7、存儲技術:Deplication,SSD,HSM,Virtualization,Snapshot,Replication,CDP, VTL,Thin Provision等等。

8、存儲架構:掌握不同行業的存儲需求,能夠根據實際需求提出存儲解決方案,並進行存儲系統架構、設計和實現

㈣ 計算機是如何儲存數據的

計算機通過存儲系統來完成信息的保存和提取。
存儲系統是指計算機中由存放程序和數據的各種存儲設備、控制部件及管理信息調度的設備(硬體)和演算法(軟體)所組成的系統。計算機的主存儲器不能同時滿足存取速度快、存儲容量大和成本低的要求,在計算機中必須有速度由慢到快、容量由大到小的多級層次存儲器,以最優的控制調度演算法和合理的成本,構成具有性能可接受的存儲系統。
在計算機系統中存儲層次可分為高速緩沖存儲器、主存儲器、輔助存儲器三級。高速緩沖存儲器用來改善主存儲器與中央處理器的速度匹配問題。輔助存儲器用於擴大存儲空間。信息存取過程中,存儲系統必須完成邏輯地址空間和物理地址空間之間的變換,並且合理地管理存儲系統資源。邏輯地址是指程序員編制的程序地址,由它構成邏輯地址空間。程序主存儲器中的實際地址稱為物理地址,由它構成物理地址空間。存儲映像基本上分為兩種情況:一種是邏輯地址空間小於物理地址空間,映像要求可以訪問所有的物理存儲器;另一種是邏輯地址空間大於物理地址空間,映像要確定每個邏輯地址實際所對應的物理地址。

㈤ 計算機是怎麼存儲數據的

數據結構為計算機存儲、組織數據的方式。數據結構指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索演算法和索引技術有關。

數據存儲對象包括數據流在加工過程中產生的臨時文件或加工過程中需要查找的信息。數據以某種格式記錄在計算機內部或外部存儲介質上。數據存儲要命名,這種命名要反映信息特徵的組成含義。數據流反映了系統中流動的數據,表現出動態數據的特徵;數據存儲反映系統中靜止的數據,表現出靜態數據的特徵。



(5)存儲器如何管理數據擴展閱讀

磁碟和磁帶都是常用的存儲介質。數據存儲組織方式因存儲介質而異。在磁帶上數據僅按順序文件方式存取;在磁碟上則可按使用要求採用順序存取或直接存取方式。數據存儲方式與數據文件組織密切相關,其關鍵在於建立記錄的邏輯與物理順序間對應關系,確定存儲地址,以提高數據存取速度。

㈥ 計算機是如何處理信息的

不論何種計算機,它們都是由硬體和軟體所組成,兩者是不可分割的。人們把沒有安裝任何軟體的計算機稱為裸機。
硬體
計算機系統中所使用的電子線路和物理設備,是看得見、摸得著的實體,如中央處理器( CPU )、存儲器、外部設備(輸入輸出設備、I/O設備)及匯流排等。
①存儲器。主要功能是存放程序和數據,程序是計算機操作的依據,數據是計算機操作的對象。存儲器是由存儲體、地址解碼器 、讀寫控制電路、地址匯流排和數據匯流排組成。能由中央處理器直接隨機存取指令和數據的存儲器稱為主存儲器,磁碟、磁帶、光碟等大容量存儲器稱為外存儲器(或輔助存儲器) 。由主存儲器、外部存儲器和相應的軟體,組成計算機的存儲系統。
②中央處理器的主要功能是按存在存儲器內的程序 ,逐條地執行程序所指定的操作。中央處理器的主要組成部分是:數據寄存器、指令寄存器、指令解碼器、算術邏輯部件、操作控制器、程序計數器(指令地址計數器 )、地址寄存器等。
③外部設備是用戶與機器之間的橋梁。輸入設備的任務是把用戶要求計算機處理的數據、字元、文字、圖形和程序等各種形式的信息轉換為計算機所能接受的編碼形式存入到計算機內。輸出設備的任務是把計算機的處理結果以用戶需要的形式(如屏幕顯示、文字列印、圖形圖表、語言音響等)輸出。輸入輸出介面是外部設備與中央處理器之間的緩沖裝置,負責電氣性能的匹配和信息格式的轉換。
軟體
對能使計算機硬體系統順利和有效工作的程序集合的總稱。程序總是要通過某種物理介質來存儲和表示的 ,它們是磁碟、磁帶、程序紙、穿孔卡等,但軟體並不是指這些物理介質,而是指那些看不見、摸不著的程序本身。可靠的計算機硬體如同一個人的強壯體魄,有效的軟體如同一個人的聰穎思維。
計算機的軟體系統可分為系統軟體和應用軟體兩部分。系統軟體是負責對整個計算機系統資源的管理、調度、監視和服務。應用軟體是指各個不同領域的用戶為各自的需要而開發的各種應用程序。計算機軟體系統包括:
①操作系統 :系統軟體的核心,它負責對計算機系統內各種軟、硬資源的管理、控制和監視。
資料庫管理系統:負責對計算機系統內全部文件、資料和數據的管理和共享。
③編譯系統:負責把用戶用高級語言所編寫的源程序編譯成機器所能理解和執行的機器語言。
④網路系統:負責對計算機系統的網路資源進行組織和管理,使得在多台獨立的計算機間能進行相互的資源共享和通信。
⑤標准程序庫:按標准格式所編寫的一些程序的集合,這些標准程序包括求解初等函數、線性方程組、常微分方程、數值積分等計算程序。
⑥服務性程序:也稱實用程序。為增強計算機系統的服務功能而提供的各種程序 ,包括對用戶程序的裝置、連接、編輯、查錯、糾錯、診斷等功能。為了使計算機能算得快和准、記得多和牢,數十年來,對提高單機中的中央處理器的處理速度和精度,對提高存儲器的存取速度和容量作了許多改進,如:增加運算器的基本字長和提高運算器的精度;增加新的數據類型,或對數據進行自定義,使數據帶有標志符,用以區別指令和數,及說明數據類型;在 CPU 內增設通用寄存器、採用變址寄存器、增加間接定址功能和增設高速緩沖存儲器和採用堆棧技術;採用存儲器交叉存取技術及虛擬存儲器技術;採用指令流水線和運算流水線;採用多個功能部件和增設協處理器等。

電腦內部沒有化學變化

㈦ 在存儲器管理中,經常使用哪一種數據結構管理內存的使用情況

使用靜態重定位數據結構管理內存。
又稱可重定位裝入。編譯鏈接後的裝入模塊的地址都是從0開始的,指令中使用的地址、數據存放的地址都是相對於起始地址而言的邏輯地址。
內存是用於存放數據的硬體,程序執行前需要先放到內存中才能被CPU處理。

㈧ 計算機里的數據在存儲器里是如何儲存的

數據有數值型和非數值型兩類,這些數據在計算機中都必須以二進制形式表示。一串二進制數既可表示數量值,也可表示一個字元、漢字或其他。一串二進制數代表的數據不同,含義也不同。這些數據在計算機的存儲設備中是如何進行組織存儲的?

數據單位
位(bit),音譯為「比特」,是計算機存儲設備的最小單位,由數字0或1組成。
位元組(Byte),簡寫為「B」,音譯為「拜特」,簡寫為「B」。8個二進制位編為一組稱為一個位元組,即:1B = 8bit。位元組是計算機處理數據的基本單位,即以位元組為單位解釋信息。通常,一個ASCII碼佔1個位元組;一個漢字國標碼佔2個位元組;整數佔2個位元組;實數,即帶有小數點的數,用4個位元組組成浮點形式等。
字(word),計算機一次存取、處理和傳輸的數據長度稱為字,即:一組二進制數碼作為一個整體來參加運算或處理的單位。一個字通常由一個或多個位元組構成,用來存放一條指令或一個數據。
字長,一個字中所包含的二進制數的位數稱為字長。不同的計算機,字長是不同的,常用的字長有8位、16位、32位和64位等,也就是經常說的8位機、16位機、32位機或64位機。例如,一台計算機如果用8個二進制位表示一個字,就說該機是八位機,或者說它的字長是8位的;又如,一個字由兩個位元組組成,即16個二進制位,則字長為16位。字長是衡量計算機性能的一個重要標志。字長越長,一次處理的數字位數越大,速度也就越快

編址與地址
編址,對計算機存儲單元編號的過程稱為「編址」,是以位元組為單位進行的。
地址,存儲單元的編號稱為地址。

注意:地址號與存儲單元是一一對應的,CPU通過單元地址訪問存儲單元中的信息,地址所對應的存儲單元中的信息是CPU操作的對象,即數據或指令本身。地址也是用二進制編碼表示,為便於識別通常採用16進制。

㈨ 操作系統中 存儲器對什麼進行管理

存儲管理即是對主存的管理,它是操作系統的重要功能之一。主存儲器是計算機系統中的一種寶貴資源,對主存的管理和有效使用是操作系統中十分重要的內容。為了便於對主存進行有效的管理,應該將主存分成若干個區域,以便同時存放多個用戶程序和系統軟體。因此,存儲管理應具有如下功能:主存的分配和回收、提高主存的利用率、「擴充」主存容量和存儲保護。存儲分配主要解決多道作業之間劃分主存空間的問題,存儲分配有三種主要方式:直接分配方式、靜態分配方式和動態分配方式。絕大多數計算機系統都採用靜態分配方式或動態分配方式。為了實現靜態和動態兩種存儲分配策略,需要採用將邏輯地址與物理地址分開,並對邏輯地址實施地址重定位技術。所謂重定位是由於一個作業裝入到與其地址空間不一致的存儲空間時所引起的有關地址調整過程,實質上,這是一個地址變換過程,地址變換也稱為地址映射。根據地址變換進行的時間及採用的技術手段不同,可以把重定位分為兩類:靜態重定位和動態重定位。所謂靜態重定位是在程序運行之前,由鏈接裝配程序進行的重定位。靜態重定位的特點是無需增加硬體地址變換機構,但要求為每個程序分配一個連續的存儲區,且在程序執行期間不能移動,故難於做到程序和數據的共享;動態重定位是在程序的執行過程中,每當訪問到指令或數據時,將要訪問的程序或數據的邏輯地址轉換成物理地址。動態重定位的實現需要依靠硬體地址變換機構。最簡單的實現方法是利用一個重定位寄存器。動態重定位的特點是需要附加硬體的支持,優點是可以將程序分配到不連續的存儲區中,在程序運行之前可以只裝入部分代碼即可運行,然後在程序運行期間,根據需要動態地申請分配內存,所以,便以程序段的共享,並且可向用戶提供一個比主存的存儲空間大得多的地址空間,該地址空間也稱為虛擬存儲器。

㈩ 存儲器的原理是什麼

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

介紹

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