計算機系統是有軟件和硬件組成的,它不是純粹的軟件,更不是硬件。緩存
系統硬件組成中的I/O設備不是直接與總線相連,而是經過一箇中間設備:控制器/適配器來鏈接。控制器和適配器的區別在於它們的封裝方式,控制器是設備或者主板上的芯片組,而適配器是插在主板上的卡,按我我的理解,通俗來講應該是可否插拔的區別?(此處不是很肯定,歡迎糾錯。)blog
系統硬件組成的一個重要成員是處理器,也即CPU。CPU像一個小工廠車間同樣,裏面有不少部分組成,示意圖以下:內存
CPU從開機加電開始,直到斷電關機一直在執行指令,根據馮諾依曼體系結構,指令是放在內存當中的。所以CPU內部有個寄存器專門用於存儲指令的內存地址,該寄存器指向的指令不斷被CPU取出並執行,而後指向上一條指令後面的指令。這裏的寄存器是CPU內部的一種存儲硬件,很是小,很是快。原理
從上面的示意圖能夠看到,實際的寄存器是CS:IP,而書本上用的詞彙是PC,這裏的PC是一種概念定義,而CS:IP是具體實現。軟件
高速緩存也屬於CPU內部的一種存儲硬件,爲何會有高速緩存?雖然內存很快,可是CPU通過這幾十年的發展,速度比內存還快,速度差距甚至在100倍左右。爲了減少這種差距,解決方法是緩衝,根據計算機程序運行的局部性原理,咱們只須要加很小的更快速度的存儲空間就能實現很好的緩衝效果。局部性原理是指CPU訪問存儲器時,不管是存取指令仍是存取數據,所訪問的存儲單元都趨於彙集在一個較小的連續區域中。也就是說,某一時刻在某一內存處的操做,在下一時刻的將進行的操做也會在以前操做的內存附近。所以咱們只須要很小的存儲空間就能解決速度不匹配的問題。除了的局部性原理的緣由以外,新增長的更快速度的存儲硬件之因此很小,是由於存儲硬件速度越快,其價格越貴,所以只能配備很小的存儲硬件。配置
CPU中的這種高速緩衝硬件叫作cache,一般有好幾個層次,通常有3層,目前的配置稍高的筆記本甚至有4層,這就是所謂的L一、L二、L3緩存,一般咱們會在電腦包裝的參數表上或者使用硬件檢測軟件看到,以下圖:硬件