系統架構設計師(五)——計算機組成與體系機構

今天更新存儲系統相關知識點,存儲系統自身知識點與前幾章基本相似,都是非常明確而直白的東西(考試一般不會涉及),但其中有一些計算性的知識,實際一般人都用不上,但考試會考,多麼奇葩的考核,但也沒有辦法,總要分出個三六九等不是。

存儲系統

存儲系統,佔據計算機構成的很大一個比例,在計算機系統中,存儲器外網劃分為若干級。

一般分為:高速緩衝存儲器(cache)、內存及輔存

在這三級存儲中,我們先說內存,他位於中間,進行數據交換、存儲中間數據,是一個紐帶型選手,cpu可以直接訪問內存,特點為存取速度快,容量小(相對於輔存而言),存放正在制定的程序和數據。

再說輔存,如硬盤、U盤、更外部的如網絡存儲……,具備容量大,價格低,但速度慢,CPU不能直接訪問,需要時將數據傳遞到內存,再進行使用(相對於內存而言,雖然現在有SSD固態硬盤,速度很快,但計算機結構沒有改變,整體瓶頸還是存在),一般存放暫時不參與運行的程序和數據。

最後提cache,他比內存更快,但容量更小,一般位於cpu內,為了保證讀取的速度,有可能又分為多級緩存。

所以,計算機採用多級存儲器模式,一是為了確保速度,二是為了保持較低的成本。

低成本高速率的效果得益於局部性原理,講一下局部性原理,(很直觀明確)在一段時間,程序執行僅限於某一部分,相對應來說,程序存儲空間也就在某一段區域(多麼廢話的描述,想一想,是不是這個道理,當你在看這段文字的時候,你眼睛就盯在這裡,你大腦控制眼睛的某一區域就在活動,簡單明瞭),由此可以得出程序局部性包括時間局部性和空間局部性(太廢話了)。

時間局部性,指令執行一次後,可能會再次執行,(多麼廢話啊,我還可以補充一下:尤其在循環操作時明顯)

空間局部性,訪問某款空間後,可能不久會訪問相近的存儲單元(又是一句,想想上樓,你登上一個臺階,我估計,你可能、大概、也許很快會踩臨近的臺階,暈~~~~),程序的順序執行是一個典型案例。

講完這些,你其實只知道了一些基本知識,然而並沒有什麼用,考試基本不考,太小兒科了。

so,通過以上講述,是為了可以引出以下存取方式的分類:

  1. 順序存取:很容易想明白的模式,就是排隊,數據的訪問必須依照特定的線性順序進行,(1.2.3.4.5.6......N)比如磁帶
  2. 直接存取:與順序存取有相似之處,使用一個共享讀寫部件對數據進行訪問,每個數據塊自身有唯一地址標識,讀寫部件可以直接移動到目標所在位置,如磁盤,關於磁盤的知識在下一部分詳細說明,這裡簡單舉例,假如有整張唱片只有一首歌曲,我們從頭聽到尾,就是順序存儲。如果一張唱片上面有N個歌曲(每一個歌曲就是我們的數據塊),如果我們希望聽第五首,那麼就將唱片機的磁頭拿起來,放到第五首的位置,ok了,聽第五首,這個就是直接存取
  3. 隨機存取:(也稱直接訪問)存儲器每一個可尋址單元都有自身唯一地址和讀寫裝置,系統可以在同一時間對任意一個單元進行數據訪問。如內存,說概念挺難直觀理解,對應生活舉例,警察跨省搜捕犯人,如果採用順序或直接方式,只能抓住一部分,但其他罪犯收到風聲,就跑掉了,這時候警方的辦案採用的就是隨機方式,首先每個公民都有一個居住地址,也就是唯一地址標識,其次警方在 抓捕罪犯前,先會進行勘察、盯梢,針對每一個罪犯的盯梢人就是一個讀寫部件,我們把範圍縮小到已經被盯梢的集群,警方可以同一時間對任意一個居住地的罪犯進行抓捕,這個方式就是隨機存取,隨機存取貼合生活的舉例我沒想出更合適的了,有的話請評論補充吧。
  4. 相聯存取:與隨機存取也有相似之處,基本結構一樣,只是選擇單元讀取不是靠單元自身的地址,而是單元裡的內容,通過查找符合的關鍵字進行單元的定位,然後獲取內容,如cache,與現實舉例,更不好對應(可能是在寫前面的東西后,思維有些固化了),接上面的例子,警方這次要找張三,不是先找他居住地了,而是直接看罪犯集群裡張三在哪裡,直接讓盯梢的抓住。

ok,就這樣吧,描述清楚太TMD困難了,還好這一樣知識基本型知識體系,沒什麼卵用,考試基本不會涉及,下一章說說主存儲,裡面涉及一個計算型考點,下一章見。


分享到:


相關文章: