編程必備基礎知識|計算機組成原理篇(08):存儲器


計算機基礎方面的知識,對於一些非科班出身的同學來講,一直是他們心中的痛,而對於科班出身的同學,很多同學在工作之后,也意識到自身所學知識的不足與欠缺,想回頭補補基礎知識。關於計算機基礎的課程很多,內容繁雜,但無論是相關書籍還是大學課程,都有點脫離工作。特別地,計算機基礎知識體系龐雜,想要從零學習或者復習都耗時耗力。

有鑒於此,本系列文章將帶你更快的補足編程必備基礎知識,涵蓋計算機領域三大基礎知識:計算機組成原理、操作系統、計算機網絡,這些都是大學計算機課程里面最重要的內容。文章對這些內容做了提煉和總結,摒棄了作為程序員不需要掌握的知識。

目的是:

  • 幫助大家形成計算機知識的結構體系
  • 幫助大家理解計算機底層原理
  • 幫助大家在工作實踐中借鑒其中的優秀設計

本篇是計算機組成原理之計算機的存儲器

歡迎關注、轉發、收藏、評論

1.什么是存儲器

存儲器,顧名思義,是用來儲存物質的。在計算機中,這些儲存的物質就是數據和指令,有了存儲器,計算機就有了記憶功能。

存儲器由一些編號的單元所組成,單元的編號叫做地址。打個比方,存儲器就像是一個大型倉庫,倉庫里面有很多個房間存放着貨物,每個房間都有自己的房號;而存儲器單元好比房間,房間里的貨物好比數據和指令,而單元的編號(地址)就好比房間號,我們的計算機就是根據這個地址來存放或取出數據和指令的。

計算機中的全部信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。

2.存儲器的分類

按存儲介質來划分,存儲器可分為半導體存儲器和磁存儲器。其中,半導體存儲器存儲的元器件是由半導體組成的,常見的如:內存、U盤、固態硬盤等;磁存儲器,是由表面塗有磁性材料的存儲介質組成的,常見的有:磁帶、磁盤。

按存取方式來分類,可以將存儲器分為隨機存儲器(RAM)、串行存儲器、只讀存儲器(ROM),

3.存儲器的層次結構

在選取計算機的存儲器時,通常需要考慮的因素是存儲器的讀寫速度、存儲容量、價格,我們希望讀寫速度越快越好、存儲容量越大越好、價格則越低越好。有一個專門的單位,用來量化存儲器的性價比——位價。位價綜合地把容量和價格都考慮進去了,它的含義是每比特位的價格,使用位價可以客觀地描述存儲器的性價比。

按照位價和讀寫速度的關系,可以把存儲器划分為幾個層次:緩存、主存、輔存。

緩存指的是CPU里的寄存器以及高速緩存,速度快,位價高。

主存指的主要是計算機里的內存,速度適中,價格適中。

輔存指的是外部儲存設備,如磁盤、U盤、移動硬盤等,速度慢,價格低。

之前文章里已經提到過,CPU是高速運算的,處理速率極快,而存儲器沒有CPU快,傳輸數據和程序到CPU里時速度慢,這會導致CPU經常空轉等待數據傳輸,兩者在速度上是不匹配的。理論上,不考慮價格的話,我們肯定希望緩存越大越好,但是由於位價的存在,緩存不可能做的越大越好,因此才有了這個層次結構。

存儲器的層次結構也可以使用如下圖來表達:

圖示里,CPU與高速緩存是直接通信的,也可以跟主存進行通信。而高速緩存和主存之間也可以相互通信,稱之為緩存-主存層次,除了緩存-主存層次,還有主存和輔存之間的通信,這個通信,CPU是不參與的,稱之為主存-輔存層次。

緩存-主存層次,是在CPU與主存之間增加一層速度快容量小的Cache,目的是解決主存與CPU速度不匹配的問題。有了高速緩存的存在,CPU就可以通過一定的策略,盡可能地去訪問這個高速緩存而不是主存,從而有效提高CPU的利用效率以及計算機的運行速度。CPU選取數據時,首先會從緩存中去取,緩存中沒有的話,再會去取主存中的。

主存-輔存層次,是在主存之外增加輔助存儲器(磁盤、SD卡、U盤等),目的是解決主存容量不足的問題。假設我們運行一個超大型游戲,而內存通常只有8G,此時,就可以把游戲當前使用的數據加載到內存中,把不使用的數據放在輔存中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM