存儲論原理
1. 硬碟的存儲原理
硬碟是一種採用磁介質的數據存儲設備,數據存儲在密封於潔凈的硬碟驅動器內腔的若干個磁碟片上。這些碟片一般是在以的片基表面塗上磁性介質所形成,在磁碟片的每一面上,以轉動軸為軸心、以一定的磁密度為間隔的若干個同心圓就被劃分成磁軌(track),每個磁軌又被劃分為若干個扇區(sector),數據就按扇區存放在硬碟上。
硬碟的第一個扇區(0道0頭1扇區)被保留為主引導扇區。在主引導區內主要有兩項內容:主引導記錄和硬碟分區表。主引導記錄是一段程序代碼,其作用主要是對硬碟上安裝的操作系統進行引導;硬碟分區表則存儲了硬碟的分區信息。
計算機啟動時將讀取該扇區的數據,並對其合法性進行判斷(扇區最後兩個位元組是否為0x55AA或0xAA55 ),如合法則跳轉執行該扇區的第一條指令。所以硬碟的主引導區常常成為病毒攻擊的對象,從而被篡改甚至被破壞。可引導標志:0x80為可引導分區類型標志;0表示未知;1為FAT12;4為FAT16;5為擴展分區等等。
(1)存儲論原理擴展閱讀:
數據存儲原理
既然要進行數據的恢復,當然數據的存儲原理我們不能不提,在這之中,我們還要介紹一下數據的刪除和硬碟的格式化相關問題……
操作系統從目錄區中讀取文件信息(包括文件名、後綴名、文件大小、修改日期和文件在數據區保存的第一個簇的簇號),我們這里假設第一個簇號是0023。
操作系統從0023簇讀取相應的數據,然後再找到FAT的0023單元,如果內容是文件結束標志(FF),則表示文件結束,否則內容保存數據的下一個簇的簇號,這樣重復下去直到遇到文件結束標志。
2. 計算機的存儲程序工作原理是什麼
計算機的基本原理是:
存儲程序和程序控制。
預先要把指揮計算機如何進行操作的指令序列(稱為程序)和原始數據通過輸入設備輸送到計算機內存貯器中。
每一條指令中明確規定了計算機從哪個地址取數,進行什麼操作,然後送到什麼地址去等步驟。
1計算機在運行時,先從內存中取出第一條指令,通過控制器的解碼,按指令的要求,從存儲器中取出數據進行指定的運算和邏輯操作等加工,然後再按地址把結果送到內存中去。
2接下來,再取出第二條指令,在控制器的指揮下完成規定操作。依此進行下去。直至遇到停止指令。
3程序與數據一樣存貯,按程序編排的順序,一步一步地取出指令,自動地完成指令規定的操作是計算機最基本的工作原理。
4這一原理最初是由美籍匈牙利數學家馮.諾依曼於1945年提出來的,故稱為馮.諾依曼原理。
3. 各種存儲器的工作原理是什麼
1.按用途分類 ⑴內部存儲器 內部存儲器又叫內存,是主存儲器。用來存儲當前正在使用的或經常使用的程序和數據。CPU可以對他直接訪問,存取速度較快。 ⑵外部存儲器 外部存儲器又叫外存,是輔助寄存器。外存的特點是容量大,所存的信息既可以修改也可以保存。存取速度較慢,要用專用的設備來管理。 計算機工作時,一般由內存ROM中的引導程序啟動程序,再從外存中讀取系統程序和應用程序,送到內存的RAM中,程序運行的中間結果放在RAM中,(內存不夠是也可以放在外存中)程序的最終結果存入外部存儲器。
2.按存儲器的性質分類 ⑴RAM隨機存取存儲器(Random Access Memory) CPU根據RAM的地址將數據隨機的寫入或讀出。電源切斷後,所存數據全部丟失。按照集成電路內部結構不同,RAM又分為兩類: ①SRAM靜態RAM(Static RAM) 靜態RAM速度非常快,只要電源存在內容就不會消失。但他的基本存儲電路是由6個MOS管組成1位。集成度較低,功耗也較大。一般高速緩沖存儲器(Cache memory)用它組成。 ②DRAM動態RAM(Dynamic RAM) DRAM內容在 或 秒之後自動消失,因此必須周期性的在內容消失之前進行刷新(Refresh)。由於他的基本存儲電路由一個晶體管及一個電容組成,因此他的集成成本較低,另外耗電也少,但是需要刷新電路。⑵ROM只讀存儲器(Read Only Memory) ROM存儲器將程序及數據固化在晶元中,數據只能讀出不能寫入。電源關掉,數據也不會丟失。ROM按集成電路的內部結構可以分為:①PROM可編程ROM(Programable ROM )將設計的程序固化進去,ROM內容不可更改。②EPROM可擦除、可編程(Erasable PROM)可編程固化程序,且在程序固化後可通過紫外線光照擦除,以便重新固化新數據。③EEPROM電可擦除可編程(Electrically Erasable PROM) 可編程固化程序,並可利用電壓來擦除晶元內容,以便重新固化新數據。 3、按存儲介質分
(1)半導體存儲器。 存儲元件由半導體器件組成的叫半導體存儲器。其優點是體積小、功耗低、存取時間短。其缺點是當電源消失時,所存信息也隨即丟失,是一種易失性存儲器。
半導體存儲器又可按其材料的不同, 分為雙極型(TTL)半導體存儲器和MOS半導體存儲器兩種。 前者具有高速的特點,而後者具有高集成度的特點,並且製造簡單、成本低廉, 功耗小、故MOS半導體存儲器被廣泛應用。 (2)磁表面存儲器。 磁表面存儲器是在金屬或塑料基體的表面上塗一層磁性材料作為記錄介質,工作時磁層隨載磁體高速運轉,用磁頭在磁層上進行讀寫操作,故稱為磁表面存儲器。
按載磁體形狀的不同,可分為磁碟、磁帶和磁鼓。現代計算機已很少採用磁鼓。由於用具有矩形磁滯回線特性的材料作磁表面物質,它們按其剩磁狀態的不同而區分「0」或「1」,而且剩磁狀態不會輕易丟失,故這類存儲器具有非易失性的特點。
(3)光碟存儲器。 光碟存儲器是應用激光在記錄介質(磁光材料)上進行讀寫的存儲器,具有非易失性的特點。光碟記錄密度高、耐用性好、可靠性高和可互換性強等。 4、按存取方式分類
按存取方式可把存儲器分為隨機存儲器、只讀存儲器、順序存儲器和直接存取存儲器四類。
(1)隨機存儲器RAM RAM是一種可讀寫存儲器, 其特點是存儲器的任何一個存儲單元的內容都可以隨機存取,而且存取時間與存儲單元的物理位置無關。計算機系統中的主存都採用這種隨機存儲器。由於存儲信息原理的不同, RAM又分為靜態RAM (以觸發器原理寄存信息)和動態RAM(以電容充放電原理寄存信息)。
(2)只讀存儲器 只讀存儲器是能對其存儲的內容讀出,而不能對其重新寫入的存儲器。這種存儲器一旦存入了原始信息後,在程序執行過程中,只能將內部信息讀出,而不能隨意重新寫入新的信息去改變原始信息。因此,通常用它存放固定不變的程序、常數以及漢字字型檔,甚至用於操作系統的固化。它與隨機存儲器可共同作為主存的一部分,統一構成主存的地址域。
只讀存儲器分為掩膜型只讀存儲器MROM(Masked ROM)、可編程只讀存儲器PROM(Programmable ROM)、可擦除可編程只讀存儲器EPROM(Erasable Programmable ROM)、用電可擦除可編程的只讀存儲器EEPROM(Electrically Erasable Programmable ROM)。以及近年來出現了的快擦型存儲器Flash Memory,它具有EEPROM的特點,而速度比EEPROM快得多。
(3)串列訪問存儲器 如果對存儲單元進行讀寫操作時,需按其物理位置的先後順序尋找地址,則這種存儲器叫做串列訪問存儲器。顯然這種存儲器由於信息所在位置不同,使得讀寫時間均不相同。如磁帶存儲器,不論信息處在哪個位置,讀寫時必須從其介質的始端開始按順序尋找,故這類串列訪問的存儲器又叫順序存取存儲器。還有一種屬於部分串列訪問的存儲器,如磁碟。在對磁碟讀寫時,首先直接指出該存儲器中的某個小區域(磁軌),然後再順序尋訪,直至找到位置。故其前段是直接訪問,後段是串列訪問,也稱其為半順序存取存儲器。
4. 存儲器的原理是什麼
存儲器講述工作原理及作用
介紹
存儲器(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中。不管選擇哪種存儲器類型,在確定將被用於最終應用系統的存儲器之前,設計工程師必須仔細折中考慮各種設計因素。
5. 硬碟的儲存原理是什麼
硬碟是在硬質碟片(一般是鋁合金,以前 IBM 也嘗試過使用玻璃)上塗敷薄薄的一層鐵磁性材料。硬碟儲存數據的原理和盒式磁帶類似,只不過盒式磁帶上存儲是模擬格式的音樂,而硬碟上存儲的是數字格式的數據。寫入時,磁頭線圈上加電,在周圍產生磁場,磁化其下的磁性材料;電流的方向不同,所以磁場的方向也不同,可以表示 0 和 1 的區別。讀取時,磁頭線圈切割磁場線產生感應電流,磁性材料的磁場方向不同,所以產生的感應電流方向也不同。
不論是什麼計算機文件,歌曲,視頻,圖片,文檔等等都是以一個二進制的序列存在的,也就是很多個"10010001110011......"這樣的東西,硬碟上的存儲的文件實際上就是存儲著這些0和1的序列.硬碟的磁頭能夠按照指令讀取相應位置的信號,並且能夠改變指定位置的磁場方向,這就是數據的讀和寫.
這樣清楚了嗎?
6. 儲存信息的原理
U盤是晶元.
硬碟是碟片.
u盤是半導體材料製作的,記錄的加電的信號
硬碟是磁碟,就象磁帶一樣的東西,不過它有扇區,柱面,磁軌,磁頭==
一、U盤基本工作原理
U盤是採用Flash晶元存儲的,Flash晶元屬於電擦寫電門。在通電以後改變狀態,不通電就固定狀態。所以斷電以後資料能夠保存。
Flash晶元的擦寫次數在10萬次以上,而且你要是沒有用到後面的空間,後面的就不會通電
通用串列匯流排(Universal serial Bus)是一種快速靈活的介面,
當一個USB設備插入主機時,由於USB設備硬體本身的原因,它會使USB匯流排的數據信號線的電平發生變化,而主機會經常掃描USB匯流排。當發現電平有變化時,它即知道有設備插入。
當USB設備剛插入主機時,USB設備它本身會初始化,並認為地址是0。也就是沒有分配地址,這有點象剛進校的大學生沒有學號一樣。
正如有一個陌生人闖入時我們會問「你是什麼人」一樣,當一個USB設備插入主機時,,它也會問:「你是什麼設備」。並接著會問,你使用什麼通信協議等等。當這一些信息都被主機知道後,主機與USB設備之間就可以根據它們之間的約定進行通信。
USB的這些信息是通過描述符實現的,USB描述符主要包括:設備描述符,配置描述符,
介面描述符,端點描述符等。當一個U盤括入主機時,你立即會發現你的資源管理器里多了一個可移動磁碟,在Win2000下你還可以進一步從主機上知道它是愛國者或是朗科的。這里就有兩個問題,首先主機為什麼知道插入的是移動磁碟,而不是鍵盤或列印機等等呢?另外在Win2000下為什麼還知道是哪個公司生產的呢?其實這很簡單,當USB設備插入主機時,主機首先就會要求對方把它的設備描述符傳回來,這些設備描述符中就包含了設備類型及製造商信息。又如傳輸所採用的協議是由介面描述符確定,而傳輸的方式則包含在端點描述符中。
USB設備分很多類:顯示類,通信設備類,音頻設備類,人機介面類,海量存儲類.特定類的設備又可分為若乾子類,每一個設備可以有一個或多個配置,配置用於定義設備的功能。配置是介面的集合,介面是指設備中哪些硬體與USB交換信息。每個與USB交換信息的硬體是一個端點。因些,介面是端點的集合。
U盤應屬於海量存儲類。
USB海量存儲設備又包括通用海量存儲子類,CDROM,Tape等,U盤實際上屬於海量存儲類中通用海量存儲子類。通用海量存儲設備實現上是基於塊/扇區存儲的設備。
USB組織定義了海量存儲設備類的規范,這個類規范包括4個獨立的子類規范。主要是指USB匯流排上的傳輸方法與存儲介質的操作命令。
海量存儲設備只支持一個介面,即數據介面,此介面有三個端點Bulk input ,Bulk output,中斷端點
這種設備的介面採用SCSI-2的直接存取設備協議,USB設備上的介質使用與SCSI-2以相同的邏輯塊方式定址
二、 Bulk-Only傳輸協議
當一個U盤插入主機以後,主機會要求USB設備傳回它們的描述符,當主機得到這些描述符後,即完成了設備的配置。識別出USB設備是一個支持Bulk-Only傳輸協議的海量存儲設備。這時應可進行Bulk-Only傳輸方式。在此方式下USB與設備之間的數據傳輸都是通過Bulk-In和Bulk-Out來實現的。
硬碟,英文名稱是 Hard disk,發明於1950年。開始的時候,它的直徑長達20英寸;並且只能容納幾MB(兆位元組)的信息。最初的時候它並不稱為Hard disk ,而是叫做「fixed disk"或者"Winchester"(IBM產品流行的代碼名稱);如果在某些文獻里提到這些名詞,我們知道它們是硬碟就可以了。隨後,為了把 硬碟的名稱與"floppy disk"(軟盤)區分開來,它的名稱就演變成了"hard disk"。硬碟的內部有磁碟,作為保存信息的磁介質;而磁帶和軟盤裡面則使用柔韌的塑料薄膜作為磁介質。
在簡單的標准上,硬碟與盒式磁帶並沒有太大的區別。所有的硬碟和盒式磁帶都使用相同的磁性技術錄制信息,這點將在「磁帶錄音機是怎麼工作的有介紹」,但這已經不是屬於IT硬體的范疇了。硬碟和磁帶錄音機都從磁存儲技術獲得最大的效益--磁介質可以輕易地進行擦除和復寫,並且信息將記錄在磁軌里,儲存 的信息可以永久保存。
想明白硬碟工作原理的最好途徑是看清楚它的內部結構。注意:打開硬碟會損壞硬體,因此朋友們不要自己嘗試,當然你有一個損壞的硬碟就另當別論了。
硬碟使用了鋁片把表面給密封了起來,而另外的一邊則布滿了控制用的電子元件。電子控制器控制硬碟的讀/寫機制,還有轉動碟片的馬達。電子元件還把硬碟磁區域的信息匯編成byte(讀),並把bytes轉化為磁區域(寫)。這些電子元件被裝配在與硬碟碟片分開的小電路板上。
在電路板下面是連接碟片的馬達,還有採用了高度過濾的通風孔,以便維持硬碟內部和外部的空氣壓力平衡。
移開了硬碟的頂蓋之後,展現在大家眼前的是非常簡單但卻精密的內部結構。
碟片--當硬碟在工作的時候,它可以轉動5,400或者72,00 rpm(通常的情況下,當然最快也有10,000rpm,SCSI硬碟甚至達到了15,000rpm)。這些碟片製造的時候有驚人的精確度,並且表面如鏡子般光滑。(你甚至還在碟片里看到了作者的肖像)
臂--位於左上角,是用來保持磁頭的讀/寫 控制機制,能夠把磁頭從碟片的中心移動到硬碟的邊緣。臂和它的移動機制相當的輕,並且速度飛快。普通的硬碟每秒可以在碟片中心和邊緣之間來會移動50次,如果用肉眼看的話,速度真的是非常驚人。
為了增加硬碟儲存的信息量,很多硬碟都使用了多碟片的設計。我們打開的硬碟有三個碟片和6個讀/寫的磁頭。
硬碟裡面保持臂的移動速度和精確度都達到了不可置信的地步,它使用了高速的線性馬達。
很多硬碟使用了音圈(Voice coil)的方法來移動臂部--與你的立體聲系統中揚聲器使用的技術類似。
數據的儲存
數據儲存在碟片表面的扇區(Sector)和磁軌(track)里,磁軌是一系列的同心圓,而扇區則是磁軌組成的圓狀表面,如下:
上圖黃色部分展示的就是典型的磁軌,而藍色部分則是扇區。扇區包括了固定數量的byte---例如,256或者512byte。無論是在硬碟還是在操作系統水平,扇區都通常組成群集(cluster)。
硬碟的低級格式化過程在碟片上建立了扇區和磁軌,每個扇區的開始和結束部分都被寫到了碟片上,這個處理使硬碟准備開始以byte的形式保持數據。高級格式化則寫入文件儲存的結構,例如把文件分配表寫入到扇區,這個過程使硬碟准備保持文件。
7. 簡述馮諾依曼提出的「存儲程序」原理的基本思想
採用二進制形式表示數據和指令。將程序和數據事先存入主存儲器中,計算機在工作時按一定順序從存儲器中取出指令加以執行。論證了組成計算機硬體系統有運算器、存儲器、控制器、輸入裝置和輸出裝置五大基本部件,並規定了這五部分的基本功能。
上述概念奠定了現代計算機的基本結構,並開創了程序設計的時代。雖然計算機技術發展很快,但存儲程序原理至今仍然是計算機內在的基本工作原理,仍然是理解計算機系統功能與特徵的基礎。自計算機誕生的那天起,這一原理就決定了人們使用計算機的主要方式——編寫程序和運行程序。
(7)存儲論原理擴展閱讀
存儲程序特點是:
1、使用單一的處理部件來完成計算、存儲以及通信的工作。
2、存儲單元是定長的線性組織。
3、存儲空間的單元是直接定址的。
4、使用低級機器語言,指令通過操作碼來完成簡單的操作。
5、對計算進行集中的順序控制。
存儲程序和程序控制原理的要點是,程序輸入到計算機中,存儲在內存儲器中(存儲原理),在運行時,控制器按地址順序取出存放在內存儲器中的指令(按地址順序訪問指令),然後分析指令,執行指令的功能,遇到轉移指令時,則轉移到轉移地址,再按地址順序訪問指令(程序控制)。
8. 硬碟為什麼可以存儲數據,物理原理是什麼
硬碟存儲原理
硬碟是一種採用磁介質的數據存儲設備,數據存儲在密封於潔凈的硬碟驅動器內腔的若干個磁碟片上。這些碟片一般是在以鋁為主要成分的片基表面塗上磁性介質所形成,在磁碟片的每一面上,以轉動軸為軸心、以一定的磁密度為間隔的若干個同心圓就被劃分成磁軌(track),每個磁軌又被劃分為若干個扇區(sector),數據就按扇區存放在硬碟上。在每一面上都相應地有一個讀寫磁頭(head),所以不同磁頭的所有相同位置的磁軌就構成了所謂的柱面(cylinder)。傳統的硬碟讀寫都是以柱面、磁頭、扇區為定址方式的(CHS定址)。硬碟在上電後保持高速旋轉(5400轉/min以上),位於磁頭臂上的磁頭懸浮在磁碟表面,可以通過步進電機在不同柱面之間移動,對不同的柱面進行讀寫。所以在上電期間如果硬碟受到劇烈振盪,磁碟表面就容易被劃傷,磁頭也容易損壞,這都將給盤上存儲的數據帶來災難性的後果。
硬碟的第一個扇區(0道0頭1扇區)被保留為主引導扇區。在主引導區內主要有兩項內容:主引導記錄和硬碟分區表。主引導記錄是一段程序代碼,其作用主要是對硬碟上安裝的操作系統進行引導;硬碟分區表則存儲了硬碟的分區信息。計算機啟動時將讀取該扇區的數據,並對其合法性進行判斷(扇區最後兩個位元組是否為0x55AA或0xAA55 ),如合法則跳轉執行該扇區的第一條指令。所以硬碟的主引導區常常成為病毒攻擊的對象,從而被篡改甚至被破壞。可引導標志:0x80為可引導分區類型標志;0表示未知;1為FAT12;4為FAT16;5為擴展分區等等。
硬碟數據結構
初買來一塊硬碟,我們是沒有辦法使用的,你需要將它分區、格式化,然後再安裝上操作系統才可以使用。就拿我們一直沿用到現在的Win9x/Me系列來說,我們一般要將硬碟分成主引導扇區、操作系統引導扇區、FAT、DIR和Data等五部分(其中只有主引導扇區是唯一的,其它的隨你的分區數的增加而增加)。
主引導扇區
主引導扇區位於整個硬碟的0磁軌0柱面1扇區,包括硬碟主引導記錄MBR(Main Boot Record)和分區表DPT(Disk Partition Table)。其中主引導記錄的作用就是檢查分區表是否正確以及確定哪個分區為引導分區,並在程序結束時把該分區的啟動程序(也就是操作系統引導扇區)調入內存加以執行。至於分區表,很多人都知道,以80H或00H為開始標志,以55AAH為結束標志,共64位元組,位於本扇區的最末端。值得一提的是,MBR是由分區程序(例如DOS 的Fdisk.exe)產生的,不同的操作系統可能這個扇區是不盡相同。如果你有這個意向也可以自己去編寫一個,只要它能完成前述的任務即可,這也是為什麼能實現多系統啟動的原因(說句題外話:正因為這個主引導記錄容易編寫,所以才出現了很多的引導區病毒)。
操作系統引導扇區
OBR(OS Boot Record)即操作系統引導扇區,通常位於硬碟的0磁軌1柱面1扇區(這是對於DOS來說的,對於那些以多重引導方式啟動的系統則位於相應的主分區/擴展分區的第一個扇區),是操作系統可直接訪問的第一個扇區,它也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區參數記錄表。其實每個邏輯分區都有一個OBR,其參數視分區的大小、操作系統的類別而有所不同。引導程序的主要任務是判斷本分區根目錄前兩個文件是否為操作系統的引導文件(例如MSDOS或者起源於MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一個文件讀入內存,並把控制權交予該文件。BPB參數塊記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬碟介質描述符、根目錄大小、FAT個數、分配單元(Allocation Unit,以前也稱之為簇)的大小等重要參數。OBR由高級格式化程序產生(例如DOS 的Format.com)。
--------------------------------------------------------------------------------
文件分配表
FAT
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系統的文件定址系統,為了數據安全起見,FAT一般做兩個,第二FAT為第一FAT的備份, FAT區緊接在OBR之後,其大小由本分區的大小及文件分配單元的大小決定。關於FAT的格式歷來有很多選擇,Microsoft 的DOS及Windows採用我們所熟悉的FAT12、FAT16和FAT32格式,但除此以外並非沒有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。
目錄區
DIR是Directory即根目錄區的簡寫,DIR緊接在第二FAT表之後,只有FAT還不能定位文件在磁碟中的位置,FAT還必須和DIR配合才能准確定位文件的位置。DIR記錄著每個文件(目錄)的起始單元(這是最重要的)、文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在磁碟的具體位置及大小了。在DIR區之後,才是真正意義上的數據存儲區,即DATA區。
數據區
DATA雖然占據了硬碟的絕大部分空間,但沒有了前面的各部分,它對於我們來說,也只能是一些枯燥的二進制代碼,沒有任何意義。在這里有一點要說明的是,我們通常所說的格式化程序(指高級格式化,例如DOS下的Format程序),並沒有把DATA區的數據清除,只是重寫了FAT表而已,至於分區硬碟,也只是修改了MBR和OBR,絕大部分的DATA區的數據並沒有被改變,這也是許多硬碟數據能夠得以修復的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破壞的話,也足夠咱們那些所謂的DIY老鳥們忙乎半天了……需要提醒大家的是,如果你經常整理磁碟,那麼你的數據區的數據可能是連續的,這樣即使MBR/FAT/DIR全部壞了,我們也可以使用磁碟編輯軟體(比如DOS下的DiskEdit),只要找到一個文件的起始保存位置,那麼這個文件就有可能被恢復(當然了,這需要一個前提,那就是你沒有覆蓋這個文件……)。
硬碟分區方式
我們平時說到的分區概念,不外乎三種:主分區、擴展分區和邏輯分區。
主分區是一個比較單純的分區,通常位於硬碟的最前面一塊區域中,構成邏輯C磁碟。在主分區中,不允許再建立其它邏輯磁碟。
擴展分區的概念則比較復雜,也是造成分區和邏輯磁碟混淆的主要原因。由於硬碟僅僅為分區表保留了64個位元組的存儲空間,而每個分區的參數占據16個位元組,故主引導扇區中總計可以存儲4個分區的數據。操作系統只允許存儲4個分區的數據,如果說邏輯磁碟就是分區,則系統最多隻允許4個邏輯磁碟。對於具體的應用,4個邏輯磁碟往往不能滿足實際需求。為了建立更多的邏輯磁碟供操作系統使用,系統引入了擴展分區的概念。
所謂擴展分區,嚴格地講它不是一個實際意義的分區,它僅僅是一個指向下一個分區的指針,這種指針結構將形成一個單向鏈表。這樣在主引導扇區中除了主分區外,僅需要存儲一個被稱為擴展分區的分區數據,通過這個擴展分區的數據可以找到下一個分區(實際上也就是下一個邏輯磁碟)的起始位置,以此起始位置類推可以找到所有的分區。無論系統中建立多少個邏輯磁碟,在主引導扇區中通過一個擴展分區的參數就可以逐個找到每一個邏輯磁碟。
需要特別注意的是,由於主分區之後的各個分區是通過一種單向鏈表的結構來實現鏈接的,因此,若單向鏈表發生問題,將導致邏輯磁碟的丟失。
數據存儲原理
既然要進行數據的恢復,當然數據的存儲原理我們不能不提,在這之中,我們還要介紹一下數據的刪除和硬碟的格式化相關問題……
文件的讀取
操作系統從目錄區中讀取文件信息(包括文件名、後綴名、文件大小、修改日期和文件在數據區保存的第一個簇的簇號),我們這里假設第一個簇號是0023。
操作系統從0023簇讀取相應的數據,然後再找到FAT的0023單元,如果內容是文件結束標志(FF),則表示文件結束,否則內容保存數據的下一個簇的簇號,這樣重復下去直到遇到文件結束標志。
文件的寫入
當我們要保存文件時,操作系統首先在DIR區中找到空區寫入文件名、大小和創建時間等相應信息,然後在Data區找到閑置空間將文件保存,並將Data區的第一個簇寫入DIR區,其餘的動作和上邊的讀取動作差不多。
文件的刪除
看了前面的文件的讀取和寫入,你可能沒有往下邊繼續看的信心了,不過放心,Win9x的文件刪除工作卻是很簡單的,簡單到只在目錄區做了一點小改動――將目錄區的文件的第一個字元改成了E5就表示將改文件刪除了。
Fdisk和Format的一點小說明
和文件的刪除類似,利用Fdisk刪除再建立分區和利用Format格式化邏輯磁碟(假設你格式化的時候並沒有使用/U這個無條件格式化參數)都沒有將數據從DATA區直接刪除,前者只是改變了分區表,後者只是修改了FAT表,因此被誤刪除的分區和誤格式化的硬碟完全有可能恢復……
9. 諾依曼提出的存儲程序理論是什麼
存儲程序原理又稱「馮·諾依曼原理」。將程序像數據一樣存儲到計算機內部存儲器中的一種設計原理。程序存入存儲器後,計算機便可自動地從一條指令轉到執行另一條指令。現電子計算機均按此原理設計。
存儲程序原理:程序由指令組成,並和數據一起存放在存儲器中,計算機啟動後,能自動地按照程序指令的邏輯順序逐條把指令從存儲器中讀出來,自動完成由程序所描述的處理工作。「存儲程序原理」的提出是計算機發展史上的一個里程碑,也是計算機與其他計算工具的根本區別。
註:該回答引用知道「gjk2008」用戶對馮諾依曼存儲原理的解釋!
10. 計算機儲存原理
動態存儲器(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控制器送出到刷新地址信號,對動態存儲器執行讀操作,每讀一次刷新一行。
(10)存儲論原理擴展閱讀
描述內、外存儲容量的常用單位有:
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。