官术网_书友最值得收藏!

1.4 揭開存儲器的層次

知識點講解:光盤:視頻\PPT講解(知識點)\第1章\揭開存儲器的層次.mp4

當C語言被編譯后,編譯的中間語言會在CPU中進行處理。按照與CPU的接近程度,存儲器分為內存儲器與外存儲器,簡稱內存與外存。內存儲器又常稱為主存儲器(簡稱主存),屬于主機的組成部分;外存儲器又稱為輔助存儲器(簡稱輔存),屬于外部設備。訪問CPU不能像訪問內存那樣直接訪問外存,外存要與CPU或I/O設備進行數據傳輸,必須通過內存進行。現在的PC中還配置了高速緩沖存儲器(chache),這時內存包括主存與高速緩存兩部分。

為了兼顧存儲容量和存儲速度,當前計算機幾乎毫無例外地采用了圖1-3所示的層次式存儲結構。

圖1-3 存儲器層次結構

在圖1-3中,以處理器為中心,計算機系統的存儲依次為寄存器、高速緩存、主存儲器、磁盤緩存、磁盤和可移動存儲介質等7個層次。距離處理器越近的存儲工作速度越高,容量越小。其中,寄存器、高速緩存、主存儲器為操作系統存儲管理的管轄范圍,磁盤和可移動存儲介質屬于操作系統設備管理的管轄范圍。

凡是屬于操作系統存儲管理范圍的存儲裝置,其共同特點是在系統掉電之后,它們所存儲的信息會丟失殆盡,屬于可揮發性存儲裝置。而屬于操作系統管理范圍的存儲裝置,則可以永久保存存儲的信息,屬于非揮發性存儲裝置。

磁盤緩存本身并不是一種實際存在的存儲介質,它依托于固定磁盤,主要用來提供對主存儲器的擴充。

寄存器在物理上與處理器的運算控制部分同在一個芯片上,它們與運算部分的距離最近,訪問速度也最高,但其容量也因此不會太大。所以,它們主要被用來暫存一些中間數據或控制用的特殊數據,而不能存放像程序之類的大批數據。

主存儲器用來存放程序和程序運行所需的數據。一個計算機系統必須有足夠大的主存儲器,其容量是衡量一個計算機系統性能的指標之一。由于主存儲器的訪問速度遠低于寄存器,所以,為了加快訪問速度,計算機系統常常在主存儲器和寄存器之間配置高速緩存,以存放處理器當前常用的程序模塊和數據。

之所以把存儲器分為幾個層次,主要是基于如下三點原因。

(1)合理解決速度與成本的矛盾,以得到較高的性能價格比。半導體存儲器速度快,但價格高,容量不宜做得很大,因此,僅用作與CPU頻繁交流信息的內存儲器。磁盤存儲器價格較便宜,可以把容量做得很大,但存取速度較慢,因此,用作存取次數較少,且需存放大量程序、原始數據(許多程序和數據是暫時不參加運算的)和運行結果的外存儲器。計算機在執行某項任務時,僅將與此有關的程序和原始數據從磁盤上調入容量較小的內存,通過CPU與內存進行高速的數據處理,然后將最終結果通過內存再寫入磁盤。這樣的配置價格適中,綜合存取速度較快。

(2)為解決高速的CPU與速度相對較慢的主存的矛盾,還可使用高速緩存。它采用速度快、價格更高的半導體靜態存儲器,甚至與微處理器做在一起,存放當前使用最頻繁的指令和數據。當CPU從內存中讀取指令與數據時,將同時訪問高速緩存與主存。如果所需內容在高速緩存中,就能立即獲取;如沒有,再從主存中讀取。高速緩存中的內容是根據實際情況及時更換的。這樣,通過增加少量成本即可獲得很高的速度。

(3)使用磁盤作為外存,不僅價格便宜,可以把存儲容量做得很大,而且在斷電時它所存放的信息也不丟失,可以長久保存,且復制、攜帶都很方便。

主站蜘蛛池模板: 合山市| 临桂县| 巴中市| 广德县| 甘孜县| 新竹市| 西林县| 当雄县| 呈贡县| 沐川县| 虞城县| 涡阳县| 平远县| 科技| 湟中县| 沙湾县| 建宁县| 武功县| 武安市| 奉化市| 涿鹿县| 彰化县| 镇江市| 涞源县| 科尔| 怀安县| 新宾| 芦山县| 遵义县| 樟树市| 黄冈市| 茂名市| 若羌县| 北票市| 沅陵县| 西林县| 阿城市| 贵德县| 健康| 莱芜市| 隆化县|