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

存儲器定時圖

發布時間: 2023-02-05 19:34:52

1. 存儲器的工作原理

這里只介紹動態存儲器(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. ram原理圖

我們很多的Chip中都有ram作為存儲器,存儲器是能存儲數據,並當給出地址碼時能讀出數據的裝置。根據存儲方式的不同,存儲器可以分為隨機存儲器(ram)和只讀存儲器(rom)兩大類。
ram的原意是不管對於哪一個存儲單元,都可以以任意的順序存取數據,而且存取所花的時間都相等。即使不能完全達到以任意的順序存取,凡是能以相同的動作順序和相同的動作時間進行存入和讀出的半導體存儲器都包括在ram中。
按照存放信息原理的不同,隨機存儲器又可分為靜態和動態兩種。靜態ram是以雙穩態元件作為基本的存儲單元來保存信息的,因此,其保存的信息在不斷電的情況下,是不會被破壞的;而動態ram是靠電容的充、放電原理來存放信息的,由於保存在電容上的電荷,會隨著時間而泄露,因而會使得這種器件中存放的信息丟失,必須定時進行刷新。

一般一個存儲器系統由以下幾部分組成。
1.基本存儲單元
一個基本存儲單元可以存放一位二進制信息,其內部具有兩個穩定的且相互對立的狀態,並能夠在外部對其狀態進行識別和改變。不同類型的基本存儲單元,決定了由其所組成的存儲器件的類型不同。靜態ram的基本存儲單元是由兩個增強型的nm0s反相器交叉耦合而成的觸發器,每個基本的存儲單元由六個mos管構成,所以,靜態存儲電路又稱為六管靜態存儲電路。
圖為六管靜態存儲單元的原理示意圖。其中t1、t2為控制管,t3、t4為負載管。這個電路具有兩個相對的穩態狀態,若tl管截止則a=「l」(高電平),它使t2管開啟,於是b=「0」(低電平),而b=「0」又進一步保證了t1管的截止。所以,這種狀態在沒有外觸發的條件下是穩定不變的。同樣,t1管導通即a=「0」(低電平),t2管截止即b=「1」(高電平)的狀態也是穩定的。因此,可以用這個電路的兩個相對穩定的狀態來分別表示邏輯「1」和邏輯「0」。
當把觸發器作為存儲電路時,就要使其能夠接收外界來的觸發控制信號,用以讀出或改變該存儲單元的狀態,這樣就形成了如下右圖所示的六管基本存儲電路。其中t5、t6為門控管。

(a) 六管靜態存儲單元的原理示意圖 (b) 六管基本存儲電路
圖 六管靜態存儲單元(我們常看到的還有把t3&t1的gate連到一起,把t2&t4的gate連到一起)
當x解碼輸出線為高電平時,t5、t6管導通,a、b端就分別與位線d0及 相連;若相應的y解碼輸出也是高電平,則t7、t8管(它們是一列公用的,不屬於某一個存儲單元)也是導通的,於是d0及 (這是存儲單元內部的位線)就與輸入/輸出電路的i/o線及 線相通。
寫入操作:寫入信號自i/o線及 線輸入,如要寫入「1」,則i/o線為高電平而 線為低電平,它們通過t7、t8管和t5、t6管分別與a端和b端相連,使a=「1」,b=「0」,即強迫t2管導通,tl管截止,相當於把輸入電荷存儲於tl和t2管的柵級。當輸入信號及地址選擇信號消失之後,t5、t6、t7、t8都截止。由於存儲單元有電源及負載管,可以不斷地向柵極補充電荷,依靠兩個反相器的交叉控制,只要不掉電,就能保持寫入的信息「1」,而不用再生(刷新)。若要寫入「0」,則 線為低電乎而i/o線為高電平,使tl管導通,t 2管截止即a=「0」,b=「1」。
讀操作:只要某一單元被選中,相應的t5、t6、t7、t8均導通,a點與b點分別通過t5、t6管與d0及 相通,d0及 又進一步通過t7、t8管與i/o及 線相通,即將單元的狀態傳送到i/o及 線上。
由此可見,這種存儲電路的讀出過程是非破壞性的,即信息在讀出之後,原存儲電路的狀態不變。

3. 存儲器的原理是什麼

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

介紹

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

4. 存儲器是怎麼存儲東西的 到現在都不明白存儲器是怎麼存儲的 現在都不知道為什麼

硬碟是現在計算機上最常用的存儲器之一。我們都知道,計算機之所以神奇,是因為它具有高速分析處理數據的能力。而這些數據都以文件的形式存儲在硬碟里。不過,計算機可不像人那麼聰明。在讀取相應的文件時,你必須要給出相應的規則。這就是分區概念。分區從實質上說就是對硬碟的一種格式化。當我們創建分區時,就已經設置好了硬碟的各項物理參數,指定了硬碟主引導記錄(即Master Boot Record,一般簡稱為MBR)和引導記錄備份的存放位置。而對於文件系統以及其他操作系統管理硬碟所需要的信息則是通過以後的高級格式化,即Format命令來實現。

面、磁軌和扇區

硬碟分區後,將會被劃分為面(Side)、磁軌(Track)和扇區(Sector)。需要注意的是,這些只是個虛擬的概念,並不是真正在硬碟上劃軌道。先從面說起,硬碟一般是由一片或幾片圓形薄膜疊加而成。我們所說,每個圓形薄膜都有兩個「面」,這兩個面都是用來存儲數據的。按照面的多少,依次稱為0面、1面、2面……由於每個面都專有一個讀寫磁頭,也常用0頭(head)、1頭……稱之。按照硬碟容量和規格的不同,硬碟面數(或頭數)也不一定相同,少的只有2面,多的可達數十面。各面上磁軌號相同的磁軌合起來,稱為一個柱面(Cylinder)(如圖1)。(圖)

上面我們提到了磁軌的概念。那麼究竟何為磁軌呢?由於磁碟是旋轉的,則連續寫入的數據是排列在一個圓周上的。我們稱這樣的圓周為一個磁軌。(如圖2)如果讀寫磁頭沿著圓形薄膜的半徑方向移動一段距離,以後寫入的數據又排列在另外一個磁軌上。根據硬碟規格的不同,磁軌數可以從幾百到數千不等;一個磁軌上可以容納數KB的數據,而主機讀寫時往往並不需要一次讀寫那麼多,於是,磁軌又被劃分成若干段,每段稱為一個扇區。一個扇區一般存放512位元組的數據。扇區也需要編號,同一磁軌中的扇區,分別稱為1扇區,2扇區……

計算機對硬碟的讀寫,處於效率的考慮,是以扇區為基本單位的。即使計算機只需要硬碟上存儲的某個位元組,也必須一次把這個位元組所在的扇區中的512位元組全部讀入內存,再使用所需的那個位元組。不過,在上文中我們也提到,硬碟上面、磁軌、扇區的劃分表面上是看不到任何痕跡的,雖然磁頭可以根據某個磁軌的應有半徑來對准這個磁軌,但怎樣才能在首尾相連的一圈扇區中找出所需要的某一扇區呢?原來,每個扇區並不僅僅由512個位元組組成的,在這些由計算機存取的數據的前、後兩端,都另有一些特定的數據,這些數據構成了扇區的界限標志,標志中含有扇區的編號和其他信息。計算機就憑借著這些標志來識別扇區

硬碟的數據結構

在上文中,我們談了數據在硬碟中的存儲的一般原理。為了能更深入地了解硬碟,我們還必須對硬碟的數據結構有個簡單的了解。硬碟上的數據按照其不同的特點和作用大致可分為5部分:MBR區、DBR區、FAT區、DIR區和DATA區。我們來分別介紹一下:

1.MBR區

MBR(Main Boot Record 主引導記錄區)�位於整個硬碟的0磁軌0柱面1扇區。不過,在總共512位元組的主引導扇區中,MBR只佔用了其中的446個位元組,另外的64個位元組交給了DPT(Disk Partition Table硬碟分區表)(見表),最後兩個位元組「55,AA」是分區的結束標志。這個整體構成了硬碟的主引導扇區。(圖)

主引導記錄中包含了硬碟的一系列參數和一段引導程序。其中的硬碟引導程序的主要作用是檢查分區表是否正確並且在系統硬體完成自檢以後引導具有激活標志的分區上的操作系統,並將控制權交給啟動程序。MBR是由分區程序(如Fdisk.exe)所產生的,它不依賴任何操作系統,而且硬碟引導程序也是可以改變的,從而實現多系統共存。

下面,我們以一個實例讓大家更直觀地來了解主引導記錄:

例:80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00

在這里我們可以看到,最前面的「80」是一個分區的激活標志,表示系統可引導;「01 01 00」表示分區開始的磁頭號為01,開始的扇區號為01,開始的柱面號為00;「0B」表示分區的系統類型是FAT32,其他比較常用的有04(FAT16)、07(NTFS);「FE BF FC」表示分區結束的磁頭號為254,分區結束的扇區號為63、分區結束的柱面號為764;「3F 00 00 00」表示首扇區的相對扇區號為63;「7E 86 BB 00」表示總扇區數為12289622。

2.DBR區

DBR(Dos Boot Record)是操作系統引導記錄區的意思。它通常位於硬碟的0磁軌1柱面1扇區,是操作系統可以直接訪問的第一個扇區,它包括一個引導程序和一個被稱為BPB(Bios Parameter Block)的本分區參數記錄表。引導程序的主要任務是當MBR將系統控制權交給它時,判斷本分區跟目錄前兩個文件是不是操作系統的引導文件(以DOS為例,即是Io.sys和Msdos.sys)。如果確定存在,就把它讀入內存,並把控制權 交給該文件。BPB參數塊記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬碟介質描述符、根目錄大小、FAT個數,分配單元的大小等重要參數。DBR是由高級格式化程序(即Format.com等程序)所產生的。

3.FAT區

在DBR之後的是我們比較熟悉的FAT(File Allocation Table文件分配表)區。在解釋文件分配表的概念之前,我們先來談談簇(Cluster)的概念。文件佔用磁碟空間時,基本單位不是位元組而是簇。一般情況下,軟盤每簇是1個扇區,硬碟每簇的扇區數與硬碟的總容量大小有關,可能是4、8、16、32、64……

同一個文件的數據並不一定完整地存放在磁碟的一個連續的區域內,而往往會分成若干段,像一條鏈子一樣存放。這種存儲方式稱為文件的鏈式存儲。由於硬碟上保存著段與段之間的連接信息(即FAT),操作系統在讀取文件時,總是能夠准確地找到各段的位置並正確讀出。

為了實現文件的鏈式存儲,硬碟上必須准確地記錄哪些簇已經被文件佔用,還必須為每個已經佔用的簇指明存儲後繼內容的下一個簇的簇號。對一個文件的最後一簇,則要指明本簇無後繼簇。這些都是由FAT表來保存的,表中有很多表項,每項記錄一個簇的信息。由於FAT對於文件管理的重要性,所以FAT有一個備份,即在原FAT的後面再建一個同樣的FAT。初形成的FAT中所有項都標明為「未佔用」,但如果磁碟有局部損壞,那麼格式化程序會檢測出損壞的簇,在相應的項中標為「壞簇」,以後存文件時就不會再使用這個簇了。FAT的項數與硬碟上的總簇數相當,每一項佔用的位元組數也要與總簇數相適應,因為其中需要存放簇號。FAT的格式有多種,最為常見的是FAT16和FAT32。

4.DIR區

DIR(Directory)是根目錄區,緊接著第二FAT表(即備份的FAT表)之後,記錄著根目錄下每個文件(目錄)的起始單元,文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在硬碟中的具體位置和大小了。

5.數據(DATA)區

數據區是真正意義上的數據存儲的地方,位於DIR區之後,占據硬碟上的大部分數據空間。

磁碟的文件系統
經常聽高手們說到FAT16、FAT32、NTFS等名詞,朋友們可能隱約知道這是文件系統的意思。可是,究竟這么多文件系統分別代表什麼含義呢?今天,我們就一起來學習學習:

1.什麼是文件系統?
所謂文件系統,它是操作系統中藉以組織、存儲和命名文件的結構。磁碟或分區和它所包括的文件系統的不同是很重要的,大部分應用程序都基於文件系統進行操作,在不同種文件系統上是不能工作的。

2.文件系統大家族
常用的文件系統有很多,MS-DOS和Windows 3.x使用FAT16文件系統,默認情況下Windows 98也使用FAT16,Windows 98和Me可以同時支持FAT16、FAT32兩種文件系統,Windows NT則支持FAT16、NTFS兩種文件系統,Windows 2000可以支持FAT16、FAT32、NTFS三種文件系統,Linux則可以支持多種文件系統,如FAT16、FAT32、NTFS、Minix、ext、ext2、xiafs、HPFS、VFAT等,不過Linux一般都使用ext2文件系統。下面,筆者就簡要介紹這些文件系統的有關情況:

(1)FAT16
FAT的全稱是「File Allocation Table(文件分配表系統)」,最早於1982年開始應用於MS-DOS中。FAT文件系統主要的優點就是它可以允許多種操作系統訪問,如MS-DOS、Windows 3.x、Windows 9x、Windows NT和OS/2等。這一文件系統在使用時遵循8.3命名規則(即文件名最多為8個字元,擴展名為3個字元)。

(2)VFAT
VFAT是「擴展文件分配表系統」的意思,主要應用於在Windows 95中。它對FAT16文件系統進行擴展,並提供支持長文件名,文件名可長達255個字元,VFAT仍保留有擴展名,而且支持文件日期和時間屬性,為每個文件保留了文件創建日期/時間、文件最近被修改的日期/時間和文件最近被打開的日期/時間這三個日期/時間。

(3)FAT32
FAT32主要應用於Windows 98系統,它可以增強磁碟性能並增加可用磁碟空間。因為與FAT16相比,它的一個簇的大小要比FAT16小很多,所以可以節省磁碟空間。而且它支持2G以上的分區大小。朋友們從附表中可以看出FAT16與FAT32的一不同。

(4)HPFS
高性能文件系統。OS/2的高性能文件系統(HPFS)主要克服了FAT文件系統不適合於高檔操作系統這一缺點,HPFS支持長文件名,比FAT文件系統有更強的糾錯能力。Windows NT也支持HPFS,使得從OS/2到Windows NT的過渡更為容易。HPFS和NTFS有包括長文件名在內的許多相同特性,但使用可靠性較差。

(5)NTFS
NTFS是專用於Windows NT/2000操作系統的高級文件系統,它支持文件系統故障恢復,尤其是大存儲媒體、長文件名。NTFS的主要弱點是它只能被Windows NT/2000所識別,雖然它可以讀取FAT文件系統和HPFS文件系統的文件,但其文件卻不能被FAT文件系統和HPFS文件系統所存取,因此兼容性方面比較成問題。

ext2
這是Linux中使用最多的一種文件系統,因為它是專門為Linux設計,擁有最快的速度和最小的CPU佔用率。ext2既可以用於標準的塊設備(如硬碟),也被應用在軟盤等移動存儲設備上。現在已經有新一代的Linux文件系統如SGI公司的XFS、ReiserFS、ext3文件系統等出現。

小結:雖然上面筆者介紹了6種文件系統,但占統治地位的卻是FAT16/32、NTFS等少數幾種,使用最多的當然就是FAT32啦。只要在「我的電腦」中右擊某個驅動器的屬性,就可以在「常規」選項中(圖)看到所使用的文件系統。

明明白白識別硬碟編號
目前,電子市場上硬碟品牌最讓大家熟悉的無非是IBM、昆騰(Quantum)、希捷(Seagate),邁拓(Maxtor)等「老字型大小」。而這些硬碟型號的編號則各不相同,令人眼花繚亂。其實,這些編號均有一定的規律,表示一些特定?的含義。一般來說,我們可以從其編號來了解硬碟的性能指標,包括介面?類型、轉速、容量等。作為DIY朋友來說,只有自己真正掌握正確識別硬碟編號,在選購硬碟時,就方便得多(以致不被「黑」),至少不會被賣的人說啥是啥。以下舉例說明,供朋友們參考。

一、IBM
IBM是硬碟業的巨頭,其產品幾乎涵蓋了所有硬碟領域。而且IBM還是去年硬碟容量、價格戰的始作蛹者。我們今天能夠用得上經濟上既便宜,而且容量又大的硬碟可都得感謝IBM。
IBM的每一個產品又分為多個系列,它的命名方式為:產品名+系列代號+介面類型+碟片尺寸+轉速+容量。以Deskstar 22GXP的13.5GB硬碟為例,該硬碟的型號為:DJNA-371350,字母D代表Deskstar產品,JN代表Deskstar25GP與22GP系列,A代表ATA介面,3代表3寸碟片,7是7200轉產品,最後四位數字為硬碟容量13.5GB。IBM系列代號(IDE)含義如下:
TT=Deskstar 16GP或14GXP JN=Deskstar 25GP或22GXP RV=Ultrastar 18LZX或36ZX
介面類型含義如下:A=ATA
S與U=Ultra SCSI、Ultra SCSI Wide、Ultra SCSI SCA、增強型SCSI、
增強擴展型SCSI(SCA)
C=Serial Storage Architecture連續存儲體系SCSI L=光纖通道SCSI

二、MAXTOR(邁拓)
MAXTOR是韓國現代電子美國公司的一個獨立子公司,以前該公司的產品也覆蓋了IDE與SCSI兩個方面,但由於SCSI方面的產品缺乏竟爭力而最終放棄了這個高端市場從而主攻IDE硬碟,所以MAXTOR公司應該是如今硬碟廠商中最專一的了。
MAXTOR硬碟編號規則如下:首位+容量+介面類型+磁頭數,MAXTOR?從鑽石四代開始,其首位數字就為9,一直延續到現在,所以大家如今能在電子市場上見到的MAXTOR硬碟首位基本上都為9。另外比較特殊的是MAXTOR編號中有磁頭數這一概念,因為MAXTOR硬碟是大打單碟容量的發起人,所以其硬碟的型號中要將單碟容量從磁頭數中體現出來。單碟容量=2*硬碟總容量/磁頭數。
現以金鑽三代(DiamondMax Plus6800)10.2GB的硬碟為例說明:該硬碟?型號為91024U3,9是首位,1024是容量,U是介面類型UDMA66,3代表該硬碟有3個磁頭,也就是說其中的一個碟片是單面有數據。這個單碟容量就為2*10.2/3=6.8GB。MAXTOR硬碟介面類型字母含義如:
A=PIO模式 D=UDMA33模式 U=UDMA66模式

三、SEAGATE(希捷)
希捷科技公司(Seagate Technology)是世界上最大的磁碟驅動器、磁?盤和讀寫磁頭生產廠家,該公司是一直是IBM、COMPAQ、SONY等業界大戶的硬碟供應商。希捷還保持著業界第一款10000轉硬碟的記錄(捷豹Cheetah系列SCSI)與最大容量(捷豹三代73GB)的記錄,公司的實力由此可見一斑。但?由於希捷一直是以高端應用為主(例如SCSI硬碟),而並不是特別重視低端家用產品的開發,從而導致在DIY一族心目中的地位不如昆騰等硬碟供應商?。好在希捷公司及時注意到了這個問題,不久前投入市場的酷魚(Barracuda)系列就一掃希捷硬碟以往在單碟容量、轉速、噪音、非正常外頻下工作穩?定性、綜合性能上的劣勢。
希捷的硬碟系列從低端到高端的產品名稱分別為:U4系列、Medalist(金牌)系列、U8系列、Medalist Pro(金牌Pro)系列、Barracuda(酷魚)系列。其中Medalist Pro與Barracuda系列是7200轉的產品,其他的是5400轉的產品。硬碟的型號均以ST開頭,現以酷魚10.2GB硬碟為例來說明。該硬碟的型號是:ST310220A,在ST後第一位數字是代表硬碟的尺寸,3就是該硬碟採用3寸碟片,如今其他規格的硬碟已基本上沒有了,所以大家能夠見到?的絕大多數硬碟該位數字均不3,3後面的1022代表的是該硬碟的格式化容量是10.22GB,最後一位數字0是代表7200轉產品。這一點不要混淆與希捷以前的入門級產品Medalist ST38420A混淆。多數希捷的Medalist Pro系列開始,以結尾的產品均代表7200轉硬碟,其它數字結尾(包括1、2)代表5400轉的產品。位於型號最後的字母是硬碟的介面類型。希捷硬碟的介面類型字母含義如下:
A=ATA UDMA33或UDMA66 IDE介面 AG為筆記本電腦專用的ATA介面硬碟。
W為ULTRA Wide SCSI,
其數據傳輸率為40MB每秒 N為ULTRA Narrow SCSI,其數據傳輸率為20MB每秒。
而ST34501W/FC和ST19101N/FC中的FC(Fibre Channel)表示光纖通道,可提供高達每秒100MB的數據傳輸率,並且支持熱插拔。

硬碟及介面標準的發展歷史
一、硬碟的歷史
說起硬碟的歷史,我們不能不首先提到藍色巨人IBM所發揮的重要作用,正是IBM發明了硬碟,並且為硬碟的發展做出了一系列重大貢獻。在發明磁碟系統之前,計算機使用穿孔紙帶、磁帶等來存儲程序與數據,這些存儲方式不僅容量低、速度慢,而且有個大缺陷:它們都是順序存儲,為了讀取後面的數據,必須從頭開始讀,無法實現隨機存取數據。
在1956年9月,IBM向世界展示了第一台商用硬碟IBM 350 RAMAC(Random Access Method of Accounting and Control),這套系統的總容量只有5MB,卻是使用了50個直徑為24英寸的磁碟組成的龐然大物。而在1968年IBM公司又首次提出了「溫徹斯特」Winchester技術。「溫徹斯特」技術的精髓是:「使用密封、固定並高速旋轉的鍍磁碟片,磁頭沿碟片徑向移動,磁頭磁頭懸浮在高速轉動的碟片上方,而不與碟片直接接觸」,這便是現代硬碟的原型。在1973年IBM公司製造出第一台採用「溫徹期特」技術製造的硬碟,從此硬碟技術的發展有了正確的結構基礎。1979年,IBM再次發明了薄膜磁頭,為進一步減小硬碟體積、增大容量、提高讀寫速度提供了可能。70年代末與80年代初是微型計算機的萌芽時期,包括希捷、昆騰、邁拓在內的許多著名硬碟廠商都誕生於這一段時間。1979年,IBM的兩位員工Alan Shugart和Finis Conner決定要開發像5.25英寸軟碟機那樣大小的硬碟驅動器,他們離開IBM後組建了希捷公司,次年,希捷發布了第一款適合於微型計算機使用的硬碟,容量為5MB,體積與軟碟機相仿。
PC時代之前的硬碟系統都具有體積大、容量小、速度慢和價格昂貴的特點,這是因為當時計算機的應用范圍還太小,技術與市場之間是一種相互制約的關系,使得包括存儲業在內的整個計算機產業的發展都受到了限制。 80年代末期IBM對硬碟發展的又一項重大貢獻,即發明了MR(Magneto Resistive)磁頭,這種磁頭在讀取數據時對信號變化相當敏感,使得碟片的存儲密度能夠比以往20MB每英寸提高了數十倍。1991年IBM生產的3.5英寸的硬碟使用了MR磁頭,使硬碟的容量首次達到了1GB,從此硬碟容量開始進入了GB數量級的時代 。1999年9月7日,邁拓公司(Maxtor)_宣布了首塊單碟容量高達10.2GB的ATA硬碟,從而把硬碟的容量引入了一個新里程碑。

二、介面標準的發展
(1)IDE和EIDE的由來
最早的IBM PC並不帶有硬碟,它的BIOS及DOS 1.0操作系統也不支持任何硬碟,因為系統的內存只有16KB,就連軟碟機和DOS都是可選件。後來DOS 2引入了子目錄系統,並添加了對「大容量」存儲設備的支持,於是一些公司開始出售供IBM PC使用的硬碟系統,這些硬碟與一塊控制卡、一個獨立的電源被一起裝在一個外置的盒子里,並通過一條電纜與插在擴展槽中的一塊適配器相連,為了使用這樣的硬碟,必須從軟碟機啟動,並載入一個專用設備驅動程序。
1983年IBM公司推出了PC/XT,雖然XT仍然使用8088 CPU,但配置卻要高得多,加上了一個10MB的內置硬碟,IBM把控制卡的功能集成到一塊介面控制卡上,構成了我們常說的硬碟控制器。其介面控制卡上有一塊ROM晶元,其中存有硬碟讀寫程序,直到基於80286處理器的PC/AT的推出,硬碟介面控製程序才被加入到了主板的BIOS中。
PC/XT和PC/AT機器使用的硬碟被稱為MFM硬碟或ST-506/412硬碟,MFM(Modified Frequency Molation)是指一種編碼方案,而ST-506/412則是希捷開發的一種硬碟介面,ST-506介面不需要任何特殊的電纜及接頭,但是它支持的傳輸速度很低,因此到了1987年左右這種介面就基本上被淘汰了。
邁拓於1983年開發了ESDI(Enhanced Small Drive Interface)介面。這種介面把編解碼器放在了硬碟本身之中,它的理論傳輸速度是ST-506的2~4倍。但由於成本比較高,九十年代後就逐步被淘汰掉了。
IDE(Integrated Drive Electronics)實際上是指把控制器與盤體集成在一起的硬碟驅動器,這樣減少了硬碟介面的電纜數目與長度,數據傳輸的可靠性得到了增強,硬碟製造起來變得更容易,對用戶而言,硬碟安裝起來也更為方便。IDE介面也叫ATA(Advanced Technology Attachment)介面。
ATA介面最初是在1986年由CDC、康柏和西部數據共同開發的,他們決定使用40芯的電纜,最早的IDE硬碟大小為5英寸,容量為40MB。ATA介面從80年代末期開始逐漸取代了其它老式介面。
80年代末期IBM發明了MR(Magneto Resistive)磁阻磁頭,這種磁頭在讀取數據時對信號變化相當敏感,使得碟片的存儲密度能夠比以往的20MB/in2提高數十上百倍。1991年,IBM生產的3.5英寸硬碟0663-E12使用了MR磁頭,容量首次達到了1GB,從此硬碟容量開始進入了GB數量級,直到今天,大多數硬碟仍然採用MR磁頭。
人們在談論硬碟時經常講到PIO模式和DMA模式,它們是什麼呢?目前硬碟與主機進行數據交換的方式有兩種,一種是通過CPU執行I/O埠指令來進行數據的讀寫;另外,一種是不經過CPU的DMA方式。
PIO模式即Programming Input/Output Model。這種模式使用PC I/O埠指令來傳送所有的命令、狀態和數據。由於驅動器中有多個緩沖區,對硬碟的讀寫一般採用I/O串操作指令,這種指令只需一次取指令就可以重復多次地完成I/O操作,因此,達到高的數據傳輸率是可能的。
DMA即Direct Memory Access。它表示數據不經過CPU,而直接在硬碟和內存之間傳送。在多任務操作系統內,如OS/2、Linux、Windows NT等,當磁碟傳輸數據時,CPU可騰出時間來做其它事情,而在DOS/Windows3.X環境里,CPU不得不等待數據傳輸完畢,所以在這種情況下,DMA方式的意義並不大。
DMA方式有兩種類型:第三方DMA(third-party DMA)和第一方DMA(first-party DMA)(或稱匯流排主控DMA,Busmastering DMA)。第三方DMA通過系統主板上的DMA控制器的仲裁來獲得匯流排和傳輸數據。而第一方DMA,則完全由介面卡上的邏輯電路來完成,當然這樣就增加了匯流排主控介面的復雜性和成本。現在,所有較新的晶元組均支持匯流排主控DMA。
(2)SCSI介面
(Small Computer System Interface小型計算機系統介面)是一種與ATA完全不同的介面,它不是專門為硬碟設計的,而是一種匯流排型的系統介面,每個SCSI匯流排上可以連接包括SCSI控制卡在內的8個SCSI設備。SCSI的優勢在於它支持多種設備,傳輸速率比ATA介面快得多但價格也很高,獨立的匯流排使得它對CPU的佔用率很低。 最早的SCSI是於1979年由美國的Shugart公司(Seagate希捷公司的前身)制訂的,90年代初,SCSI發展到了SCSI-2,1995年推出了SCSI-3,其俗稱Ultra SCSI, 1997年推出了Ultra 2 SCSI(Fast-40),其採用了LVD(Low Voltage Differential,低電平微分)傳輸模式,16位的Ultra2SCSI(LVD)介面的最高傳輸速率可達80MB/S,允許介面電纜的最長為12米,大大增加了設備的靈活性。1998年,更高數據傳輸率的Ultra160/m SCSI(Wide下的Fast-80)規格正式公布,其最高數據傳輸率為160MB/s,昆騰推出的Atlas10K和Atlas四代等產品支持Ultra3 SCSI的Ultra160/m傳輸模式。
SCSI硬碟具備有非常優秀的傳輸性能。但由於大多數的主板並不內置SCSI介面,這就使得連接SCSI硬碟必須安裝相應的SCSI卡,目前關於SCSI卡有三個正式標准,SCSI-1,SCSI-2和SCSI-3,以及一些中間版本,要使SCSI硬碟獲得最佳性能就必須保證SCSI卡與SCSI硬碟版本一致(目前較新生產的SCSI硬碟和SCSI卡都是向前兼容的,不一定必須版本一致)。
(3)IEEE1394:IEEE1394又稱為Firewire(火線)或P1394,它是一種高速串列匯流排,現有的IEEE1394標准支持100Mbps、200Mbps和400Mbps的傳輸速率,將來會達到800Mbps、1600Mbps、3200Mbps甚至更高,如此高的速率使得它可以作為硬碟、DVD、CD-ROM等大容量存儲設備的介面。IEEE1394將來有望取代現有的SCSI匯流排和IDE介面,但是由於成本較高和技術上還不夠成熟等原因,目前仍然只有少量使用IEEE1394介面的產品,硬碟就更少了。

5. 存儲器的原理\

由RS觸發器存儲的一個高低點位表示二進制的0或1,,,,,,,,,N個後就存儲了信息。