計算機基礎方面的知識,對於一些非科班出身的同窗來說,一直是他們心中的痛,而對於科班出身的同窗,不少同窗在工做以後,也意識到自身所學知識的不足與欠缺,想回頭補補基礎知識。關於計算機基礎的課程不少,內容繁雜,但不管是相關書籍仍是大學課程,都有點脫離工做。特別地,計算機基礎知識體系龐雜,想要從零學習或者複習都耗時耗力。程序員
有鑑於此,本系列文章將帶你更快的補足編程必備基礎知識,涵蓋計算機領域三大基礎知識:計算機組成原理、操做系統、計算機網絡,這些都是大學計算機課程裏面最重要的內容。文章對這些內容作了提煉和總結,摒棄了做爲程序員不須要掌握的知識。編程
目的是:緩存
本篇是計算機組成原理之計算機的存儲器網絡
歡迎關注、轉發、收藏、評論學習
存儲器,顧名思義,是用來儲存物質的。在計算機中,這些儲存的物質就是數據和指令,有了存儲器,計算機就有了記憶功能。操作系統
存儲器由一些編號的單元所組成,單元的編號叫作地址。打個比方,存儲器就像是一個大型倉庫,倉庫裏面有不少個房間存放着貨物,每一個房間都有本身的房號;而存儲器單元比如房間,房間裏的貨物比如數據和指令,而單元的編號(地址)就比如房間號,咱們的計算機就是根據這個地址來存放或取出數據和指令的。計算機網絡
計算機中的所有信息,包括輸入的原始數據、計算機程序、中間運行結果和最終運行結果都保存在存儲器中。設計
按存儲介質來劃分,存儲器可分爲半導體存儲器和磁存儲器。其中,半導體存儲器存儲的元器件是由半導體組成的,常見的如:內存、U盤、固態硬盤等;磁存儲器,是由表面塗有磁性材料的存儲介質組成的,常見的有:磁帶、磁盤。3d
按存取方式來分類,能夠將存儲器分爲隨機存儲器(RAM)、串行存儲器、只讀存儲器(ROM),blog
在選取計算機的存儲器時,一般須要考慮的因素是存儲器的讀寫速度、存儲容量、價格,咱們但願讀寫速度越快越好、存儲容量越大越好、價格則越低越好。有一個專門的單位,用來量化存儲器的性價比——位價。位價綜合地把容量和價格都考慮進去了,它的含義是每比特位的價格,使用位價能夠客觀地描述存儲器的性價比。
按照位價和讀寫速度的關係,能夠把存儲器劃分爲幾個層次:緩存、主存、輔存。
緩存指的是CPU裏的寄存器以及高速緩存,速度快,位價高。
主存指的主要是計算機裏的內存,速度適中,價格適中。
輔存指的是外部儲存設備,如磁盤、U盤、移動硬盤等,速度慢,價格低。
以前文章裏已經提到過,CPU是高速運算的,處理速率極快,而存儲器沒有CPU快,傳輸數據和程序到CPU裏時速度慢,這會致使CPU常常空轉等待數據傳輸,二者在速度上是不匹配的。理論上,不考慮價格的話,咱們確定但願緩存越大越好,可是因爲位價的存在,緩存不可能作的越大越好,所以纔有了這個層次結構。
存儲器的層次結構也可使用以下圖來表達:
圖示裏,CPU與高速緩存是直接通訊的,也能夠跟主存進行通訊。而高速緩存和主存之間也能夠相互通訊,稱之爲緩存-主存層次,除了緩存-主存層次,還有主存和輔存之間的通訊,這個通訊,CPU是不參與的,稱之爲主存-輔存層次。
緩存-主存層次,是在CPU與主存之間增長一層速度快容量小的Cache,目的是解決主存與CPU速度不匹配的問題。有了高速緩存的存在,CPU就能夠經過必定的策略,儘量地去訪問這個高速緩存而不是主存,從而有效提升CPU的利用效率以及計算機的運行速度。CPU選取數據時,首先會從緩存中去取,緩存中沒有的話,再會去取主存中的。
主存-輔存層次,是在主存以外增長輔助存儲器(磁盤、SD卡、U盤等),目的是解決主存容量不足的問題。假設咱們運行一個超大型遊戲,而內存一般只有8G,此時,就能夠把遊戲當前使用的數據加載到內存中,把不使用的數據放在輔存中。