? ? ? ? ? ?【核知坊】:釋放青春想象,碼動全新視野。? ? ? ? ??
? ? ? ? ? ? 我們希望使用精簡的信息傳達知識的骨架,啟發創造者開啟創造之路!!!? ? ? ? ??
內容摘要:在上一篇文章中,我們深入了解了計算機如何通過二進制進行高效加法計算。然而,計算僅僅是計算機功能的一部分,如何保存這些計算結果也很重要。存儲對于計算機而言,就如同人類的記憶一樣不可或缺。我們通過記憶保存信息,以便在未來需要時能夠隨時調用。計算機雖然不會像人腦那樣“遺忘”,但如果沒有存儲機制,它將無法保存任何數據,每次計算的結果都會在瞬間消失。本文將帶你走進計算機存儲的世界,從基礎的寄存器到復雜的內存模塊,逐步揭開計算機存儲的基本原理。
關鍵詞:狀態保持 RAM 內存
其他相關文章:
[計算機科學#5]:計算機的“數學大腦”——核心部件ALU揭秘-CSDN博客
[計算機科學#4]:二進制如何塑造數字世界(0和1的力量)-CSDN博客
[計算機科學#3]:布爾邏輯 (計算機數學基礎)-CSDN博客
1. 常見存儲器
????????存儲器是計算機系統中用于存儲數據的關鍵組件,盡管存在多種類型,但它們的核心功能都是存儲數據。不同存儲器的主要區別在于是否持久存儲(數據是否在斷電后保留)和存儲速度(讀寫數據的快慢)。易失性存儲器(如RAM)在斷電后會丟失數據,但讀寫速度快,適合臨時存儲;而非易失性存儲器(如ROM、閃存、硬盤)則能在斷電后保留數據,適合長期存儲。這些特性決定了它們各自的應用場景和成本效益。
1.1 RAM(隨機存儲)
????????RAM是計算機中用于臨時存儲數據的關鍵組件,支持快速的隨機讀寫操作,適合頻繁的數據訪問。例如,當你在電腦上玩游戲時,游戲的實時狀態(如角色位置、任務進度等)會被存儲在 RAM 中,以便快速讀取和更新。然而,RAM 是易失性存儲器,一旦斷電,數據就會丟失。因此,游戲進度需要定期保存到硬盤等非易失性存儲設備中。RAM 的常見類型包括 DRAM(動態隨機存取存儲器),它通過電容器存儲數據,但需要定期刷新以保持數據完整性。
1.2 SRAM(靜態存儲)
????????SRAM是 RAM 的一種類型,使用鎖存器存儲數據,因此不需要定期刷新,數據在電源持續供應的情況下可以長期保持。SRAM 的速度通常比 DRAM 更快,功耗更低,但成本更高,因此常用于對速度和穩定性要求較高的場景,如 CPU 緩存和高端顯卡。例如,在游戲主機中,SRAM 可能用于存儲地圖數據或角色狀態,以便快速讀取并確保數據的穩定性。
1.3 DRAM(動態隨機存取存儲器)
????????DRAM是RAM的一種,使用電容器存儲數據,需要定期刷新以保持數據完整性。它比SRAM成本更低,但速度較慢,功耗更高。由于其成本效益,DRAM是現代計算機主內存的主要組成部分,用于存儲操作系統、應用程序和當前正在處理的數據。
1.4 ROM(只讀存儲器)
????????ROM是一種非易失性存儲器,數據在制造過程中寫入,通常不可更改。它用于存儲固件或系統軟件,如BIOS或路由器固件。ROM用于存儲啟動程序和系統級軟件,這些軟件在設備啟動時加載,用于初始化硬件和操作系統。
1.5 PROM(可編程只讀存儲器)
????????PROM是一種可編程的非易失性存儲器,用戶可以在制造后寫入數據,但寫入后通常不可更改。PROM用于存儲定制的固件或配置數據,例如嵌入式系統中的啟動代碼。
1.6 EPROM(可擦寫可編程只讀存儲器)
????????EPROM是一種可擦寫的非易失性存儲器,數據可以通過紫外線照射擦除,然后重新編程。EPROM用于需要多次更新固件的場景,例如開發階段的嵌入式系統。
1.7EEPROM(電可擦寫可編程只讀存儲器)
????????EEPROM是一種可以通過電信號擦寫數據的非易失性存儲器,擦寫速度快,支持多次寫入。EEPROM用于存儲需要頻繁更新的小量數據,如設備的配置參數或用戶設置。
1.8 Flash Memory(閃存)
????????閃存是一種非易失性存儲器,數據在斷電后仍然保留。它結合了EEPROM的優點,但具有更高的密度和更低的成本。閃存廣泛應用于USB閃存驅動器、固態硬盤(SSD)、智能手機和嵌入式設備中,用于存儲操作系統、應用程序和用戶數據。
1.9 NVRAM(非易失性隨機存取存儲器)
????????NVRAM是一種非易失性存儲器,結合了RAM的隨機存取特性和非易失性存儲器的數據保留能力。它通常使用電池或其他電源技術來保持數據。NVRAM用于需要在斷電時保留數據的場景,例如工業控制系統和某些嵌入式設備。
1.10磁盤存儲(HDD/SSD)
????????硬盤驅動器(HDD)和固態硬盤(SSD)是用于長期存儲數據的設備。HDD使用磁性介質存儲數據,而SSD使用閃存技術。磁盤存儲用于存儲操作系統、應用程序、用戶文件和其他大量數據,是計算機系統的主要存儲設備。
2. 鎖存器
2.1 AND-OR 鎖存器
????????AND-OR鎖存器是一種基礎的數字電路存儲元件,具有獨特的功能和結構特點。它能夠存儲一個比特的信息,即0或1,通過反饋機制保持輸出狀態,直到被新的輸入信號改變。這種鎖存器有兩個主要輸入:“置位”輸入和“復位”輸入。置位輸入用于將鎖存器的輸出設置為1,而復位輸入則用于將輸出設置為0。當置位和復位輸入均為0時,鎖存器會保持其當前的輸出狀態不變,這意味著它可以“記住”之前存儲的值,即使在沒有新的輸入信號時也能保持穩定。但是,AND-OR鎖存器的置位和復位輸入不能同時為1,否則會導致鎖存器的輸出狀態不確定。這種互斥特性要求在實際應用中對輸入信號進行嚴格控制,以避免沖突。
2.2 GATED 鎖存器
????????上述內容你可能看后感覺非常不易理解,于是我們對其進行改進,將它封裝為一個更容易理解的鎖存器部件,該部件有2個輸入:DATA_INPUT(需要配置存儲的數據,0或1) 和 WRITE_ENABLE(讀寫開關,配置1可以隨意更改輸出,配置0只能讀取不能修改),一個輸出DATA_OUPT。
3. 寄存器
????????寄存器由一組鎖存器組成,可以同時存儲多位二進制,寄存器存儲的位數就叫做位寬。常見的寄存器位寬有,8位、16位、32位、64位,當今的大多數電腦位寬都是32位和64位。寄存器的主要特點是其讀寫速度非常快,通常比主內存(RAM)的訪問速度要快得多。它們通常位于CPU內部或靠近CPU的位置,用于存儲CPU在執行程序時需要頻繁訪問的數據,如指令地址、操作數、中間結果等。寄存器的使用可以顯著提高計算機的運行效率,因為它們減少了對主內存的訪問次數。
????????如圖,8位寄存器由8個鎖存器組成,通過一根控制線統一管理這些鎖存器的讀寫操作。當這根控制線激活寫功能時,數據輸入端的每一位都可以被寫入到對應的鎖存器中,從而更新寄存器的輸出狀態。而當寫功能關閉(即進入只讀模式)時,即使輸入端的數據發生變化,鎖存器中之前保存的狀態也不會被修改。由于這根控制線同時管理所有8個鎖存器的寫操作,因此這種操作被稱為“寫入一個字節(8位)”。
4.矩陣寄存器
????????隨著對存儲容量需求的增加,單純通過擴展8位寄存器的方式(如直接并排放置更多鎖存器)來構建16位、32位或64位寄存器變得越來越不靈活。這種簡單擴展不僅會導致線路復雜度急劇增加,還會顯著提高硬件成本和控制難度。因此,研究人員們探索了更高效的設計方法。
????????他們采用了一種矩陣形式的布局,將鎖存器規則地排列成網格狀,利用行線和列線的交叉點來唯一標識每個鎖存器。通過在矩陣中增加一些邏輯門,可以精確地控制任何一個鎖存器,從而實現對任何一個數據位的讀寫操作。然而,如果直接使用行和列的交叉位置來控制每個鎖存器,會導致控制線路數量過多,從而增加控制成本。
????????為了優化這一過程,研究人員利用了二進制的特性。他們將鎖存器的位置用行列序號來表示,而這些序號則用二進制形式表示。通過這種方式,每個鎖存器都可以通過一個唯一的地址來標識。這種使用二進制序號來標識鎖存器位置的方法被稱為地址。通過地址機制,可以高效地定位和訪問矩陣中的任何一個鎖存器,從而顯著減少了控制線路的數量,并簡化了整體的控制邏輯。
????????通過該方式我們可以拓展更大的不同規模的寄存器矩陣,例如256(8位地址),1024(10位地址),2048(11位地址)等寄存器。
5.更大的存儲器
????????通過矩陣布局和地址編碼的方式,可以高效地將小型寄存器塊組合成更大容量的寄存器系統。例如,我們可以使用8個256比特的寄存器塊,通過8條數據地址線來精確選擇每個寄存器塊中的任意一個比特位。同時,利用3條存儲塊片選地址線來確定操作哪一個256比特的寄存器塊。此外,僅需一條數據線即可輸入待存儲的數據位,而讀寫操作則通過單獨的讀寫控制線來管理。這種設計不僅優化了線路數量,還提高了存儲系統的靈活性和可擴展性。
????????6.寄存器表
????????在許多應用場景中,為了更直觀地使用和管理寄存器,我們常常將寄存器抽象為一張數據和地址對應的表格。這種表格形式的表示方法能夠清晰地展示每個寄存器的地址以及其對應的數據內容,使得開發者可以快速定位和操作所需的寄存器。
????????對于那些經常接觸嵌入式系統的開發者來說,這種表格形式的寄存器表示在各種模塊的說明文檔中屢見不鮮。例如,在微控制器或嵌入式芯片的文檔中,寄存器表格通常會詳細列出每個寄存器的地址、名稱、位寬、默認值以及功能描述。通過這些表格,開發者可以輕松地了解如何通過特定的地址訪問和修改寄存器中的數據,從而實現對硬件模塊的精確控制。
文章總結
????????從簡單的鎖存器到復雜的內存模塊,計算機存儲系統的發展經歷了漫長的過程。寄存器和內存作為計算機存儲體系的核心部分,各自承擔著不同的任務。寄存器用于快速存儲和處理數據,而內存則為計算機提供了廣闊的工作空間。通過合理的存儲組織方式和高效的尋址機制,計算機能夠高效地管理海量數據,從而實現復雜的計算任務。在未來,隨著技術的不斷進步,計算機存儲系統還將繼續發展。例如,新型存儲介質如閃存(Flash)和相變存儲器(PCM)的出現,為計算機存儲帶來了新的可能性。這些存儲介質具有更高的存儲密度、更快的讀寫速度和更低的功耗,有望進一步提升計算機的性能和效率。無論技術如何發展,存儲始終是計算機不可或缺的一部分,它將陪伴著計算機不斷前行。
????????感謝閱覽,如果你喜歡該內容的話,可以點贊,收藏,轉發。由于 Koro 能力有限,有任何問題請在評論區內提出,Koro 看到后第一時間回復您!!!
其他精彩內容:
[計算機科學#1]:計算機的前世今生,從算盤到IBM的演變之路-CSDN博客
[計算機科學#2]:從繼電器到晶體管的電子計算機發展史(龐然大物的進化)-CSDN博客
參考內容:
Crash Course Computer Science(Y-T)