深入理解計算機系統(三):存儲設備

深入理解計算機系統(三):存儲設備

目錄

1、從磁碟載入可執行文件到主存

2、將輸出字元串從內存寫到顯示器

3、高速緩存存儲器

4、存儲設備的金字塔結構

5、本章總結

  上一章我們講解了hello world 程序在計算機系統中是如何運行的。 hello 程序的機器指令最初是存放在磁碟上的,當程序載入時,他們被複制到主存;當處理器運行程序的時候,指令又從主存複製到處理器。相似的,數據串"Hello World" 初始時在磁碟上,然後複製到主存,最後從主存上複製到顯示設備。

  從程序員的角度來看,上面的複製就是開銷,減緩了程序的真正工作效率。因此如何將這些複製操作儘快完成則是系統設計者的一個主要目標。

正文:

1、從磁碟載入可執行文件到主存

2、將輸出字元串從內存寫到顯示器

3、高速緩存存儲器

  那麼如何減少這種由數據複製所引起的開銷呢?

  根據機械原理,較大的存儲設備比較小的存儲設備運行的慢,而快速設備的造價遠高於同類的低速設備。類似的,一個典型的寄存器文件只存儲幾百位元組的信息,而主存里可以存放幾十億位元組。然而處理器從寄存器文件中讀數據的速度要比從主存中讀取幾乎快100倍。而且隨著半導體技術的進步,這兩者差距還在加大。因此加快處理器的運行速度比加快主存的運行速度要容易和便宜的多。針對這種處理器和主存之間的差異,系統設計者採用了更小、更快的存儲設備,也就是高速緩存存儲器(簡稱高速緩存),作為暫時的集結區域,用來存放處理器近期可能會需要的信息,類似於Java Web 框架的緩存機制。如下圖:

4、存儲設備的金字塔結構

  在處理器和一個又大又慢的設備(比如主存)之間插入一個更小更快的存儲設備(例如高速緩存)的想法已經是一個普遍的觀念。實際上,每個計算機系統中的存儲設備都被組織成了一個存儲器層次結構。如下圖所示:

  存儲器層次結構的主要思想是每一層上的存儲器作為低一層存儲器的高速緩存,因此,寄存器文件就是L1的高速緩存,L1是L2的高速緩存,L3是主存的高速緩存,而主存又是磁碟的高速緩存。

  正如可以運用不同的高速緩存的知識來提高程序性能一樣,程序員同樣可以利用對整個存儲器層次結構的理解來提高程序性能。這個後面我們會詳細講解。

5、本章總結

  本章主要介紹了高速緩存的產生的原理以及存儲器設備的層次結構,如何理解整個存儲器的層次結構,對於提高程序性能有很大的幫助。下一章將講解操作系統的抽象概念。


推薦閱讀:

Win10 2018四月版升級點評
計算機考專碩和學碩有什麼區別?
如何看待IBM宣布成功研製50量子比特量子計算機原型機?
什麼是自計算機取得情報罪?
什麼樣的配置能玩絕地求生?

TAG:編程 | 計算機科學 | 計算機 |