天天看點

為什麼換了固态硬碟電腦會快?詳解硬碟與記憶體的關系

正文部分:

首先我們需要先梳理一下記憶體與硬碟的關系,這裡的記憶體和手機的有很大的差別,是以從這裡開始你需要把對于手機記憶體認知的那一套全部抛到腦後,否則你會被幹擾。

【人類的思考】

我們的大腦需要思考某件事,就需要把這件事從記憶裡提取到思維裡,然後我們的大腦針對思維裡的資料去運算,也就是說,思維是我們的大腦臨時存儲資料的地方,記憶是我們長期儲存資料的地方。

【電腦的運算】

我們的電腦需要運算某軟體,就需要把這個軟體從電腦的記憶,提取到電腦的思維,然後晶片對電腦的思維去運算,這裡的電腦的記憶就是我們常說的硬碟,電腦的思維就是我們所說的記憶體。這裡的記憶體又叫運作記憶體。

為什麼換了固态硬碟電腦會快?詳解硬碟與記憶體的關系

上面那個例子還不明白那我就再舉個例子,你吃飯需要把菜從鍋裡夾到碗裡,然後你再對你的碗裡的飯執行“吃”這個操作。電腦一樣的,你吃飯這個動作=電腦運算資料,菜=資料,鍋就是硬碟,你的碗就是記憶體,你吃飯需要夾菜到碗裡,電腦算資料需要把資料從硬碟拷貝到記憶體裡。

為什麼換了固态硬碟電腦會快?詳解硬碟與記憶體的關系

相信通過上面兩個例子你應該明白了CPU,記憶體,硬碟的關系了。那麼這裡你應該就能推測出來:

記憶體容量的大小直接決定了你能同時開多少/多大的軟體。

硬碟容量的大小直接決定了你可以存放多少/多大的資料。

【為什麼換了固态會流暢?】

舉個例子,你打開一個QQ,這時候你的滑鼠變成了沙漏或者圓圈,過了幾秒QQ打開了。這裡電腦裡完成的操作就是把CPU需要的QQ資料從硬碟裡拷貝到記憶體裡,然後CPU針對記憶體裡的QQ運算,當拷貝這個過程完成了,CPU才能開始算數,你這軟體才被标記為“已打開”。

同樣的你玩遊戲的時候過圖或者加載的時候那個loading界面,電腦執行的操作就是把硬碟的資料拷貝到記憶體,因為CPU直接連接配接的是記憶體,CPU隻能針對記憶體的資料去處理,是以加載地圖的時候硬碟就會把地圖這個資料打包傳遞給記憶體,當資料傳輸完成,地圖也就讀取完成了,這時候loading過程結束。

CPU與記憶體之間的帶寬是非常快的,随便一個記憶體都是30GB/S,是以CPU到記憶體這個來回通路不存在速度瓶頸,但是傳統機械硬碟連續讀寫速度隻有200MB/S,遠遠低于記憶體速度。

假如硬碟不能及時把資料傳輸給記憶體,那麼CPU隻能空閑等着,比如你打開QQ,系統花了1分鐘把QQ從硬碟傳遞給記憶體,那麼在你看來很直接的感受就是卡,你也許會覺得是電腦性能不夠了,實際上是硬碟傳遞給記憶體這部分花費了大量時間。就好像你忘記了某個公式,你就是再聰明,你也算不出來對應的數學題。電腦性能再強,資料不能及時傳遞給他運算,他也隻能歇菜,Linus白嫖王說過,硬碟幾乎是目前電腦裡最慢的部分,是以你感受到的卡頓絕大多數是硬碟的鍋。

換了硬碟後記憶體到硬碟之間這條通路的瓶頸就解決掉了,是以你的電腦就會如絲般順滑。是以換固态解決的問題在這裡。

【固态硬碟比機械快多少?】

這裡我找了個機械硬碟與固态硬碟AS SSD測速對比,大家直接看參數就行了。

為什麼換了固态硬碟電腦會快?詳解硬碟與記憶體的關系

第一行為連續讀寫,涉及到的是單個大檔案,比如一個電影,一個大壓縮包,這些資料就是單個檔案,但是體積很大,日常使用中一般就是遊戲安裝,電影拷貝,壓縮包拷貝。

第二行為4K随機讀寫,涉及到大量分散的小檔案,比如我們的作業系統,各種軟體,他們都是有成千上萬個幾MB甚至幾KB組成的,系統讀取一個後需要快速找到下一個檔案然後讀取下一個,這裡就涉及到尋道時間了,固态找檔案速度非常快,而機械需要花費大量時間去尋找檔案,是以可看見上面我的固态随機讀寫幾乎是機械的100倍速度。

第三行為4K深度隊列,這一項一般是遊戲和專業軟體比較多、

第四行是通路時間,機械的通路時間達到了15毫秒,而固态隻有零點零幾毫秒。

是以不難看出,機械真的是慢的可以,這種速度卡在記憶體與硬碟之間的通路上,能快就有鬼了。是以那些用着機械硬碟的電腦用久了勢必會卡,這是絕對的,我爸的電腦CPU是E5800+6G記憶體,這個8年前的CPU他還在用來弄表格,當時他用的機械硬碟說卡,然後我給他換了個固态三星750EVO,然後重做了系統,目前這台電腦仍在他的辦公室服役,不說性能,就說速度比某些網吧不知道強多少,網吧系統流暢除了和每次重新開機都重新整理系統有關還和硬碟有關,一般網吧都是無盤系統,直接走的伺服器讀取系統和檔案,而伺服器那都是大量固态硬碟組的陣列。

【固态硬碟相對于機械的優劣】

固态速度快自然是美好的,但是價格也是美好的,固态平均1G就需要1-2塊錢,128的得300左右,256的也得四五百了,而機械1000G也才300塊錢,是以那些想要純固态的還是加預算吧。

既然固态貴,總有折中解決方案,那就是固态+機械,弄一個小容量固态把系統和常用軟體放進去,遊戲等大檔案放機械,這是目前最主流的解決方案,既能保證速度又能降低預算,還能解決大檔案存放需求。

固态還有一個問題就是有實體壽命,機械硬碟隻要機械結構不損壞理論上是可以一直用的,但是固态的資料顆粒寫入次數達到一定水準就會突然暴斃,而且無法恢複,機械隻要磁盤本身沒壞,通過專業的資料恢複中心還是可以找回來資料的,不過固态目前壽命也很客觀,目前的主要對于固态的資料讀寫有着嚴格的算法控制,一般的固态隻要不是天天24小時寫資料,用個5年還是基本牌的,而很多機械的壽命也不過5年,是以就目前的技術來說,固态的壽命是不需要擔心的,不過大型企業為了資料安全一般不會把資料放在固态裡,他們大多采用的是機械磁盤陣列。

【把資料都放固态有必要嗎?】

系統是必須要放固态裡的,因為系統本身檔案相當碎片化,涉及到大量的随機讀寫,如果放機械就會導緻系統不流暢,放在固态你會發現windows也可以和ios一樣絲滑。常用軟體比如QQ,微信,浏覽器,輸入法推薦放在固态裡。遊戲根據情況适當放,因為資料如果被讀取到記憶體裡去以後,就和硬碟沒關系了,CPU隻和記憶體互動資料,不和硬碟互動了,是以看遊戲具體是否經常讀寫記憶體和硬碟,比如吃雞就必須放固态裡,DNF也必須放,而LOL啊守望啊之類的不吃硬碟的就沒比要放在固态裡了。像什麼文檔表格,視訊,音樂就扔機械裡就行了。

【未來的展望】

評論區有人提到了一件事,為什麼不直接從鍋裡吃飯呢,這個問題非常精髓,為什麼CPU不直接和硬碟互動資料呢,這就是技術限制了,實際上,CPU并不是直接通路記憶體的,在記憶體和CPU之間還有緩存,這就是CPU的CACHE,L1 L2 L3 以及前端總線,L1是目前速度最快的緩存,我們人類無法以低成本量産巨大容量的L1,是以我們隻能用L2 L3 記憶體這樣的無限趨近于CPU速度的緩存來解決這個問題,其實就應該讓CPU之間通路磁盤資料,但是我們的技術達不到,我們沒法把硬碟造的那麼快,是以隻能用緩存來逼近CPU的速度,也許将來的某一天,硬碟速度和記憶體一樣了,那記憶體也就會徹底消失了。

最後是全文總結:

    1. 記憶體與硬碟就像人的思維與記憶
    2. 電腦的卡頓和不流暢主要是受硬碟影響,和電腦本身性能沒多大關系
    3. 目前硬碟是電腦中最慢的部件
    4. 更換固态硬碟可以顯著提升流暢度
    5. 固态硬碟貴,純固态對于普通人不合适,機械+固态是折中解決方案
    6. 遊戲放在固态裡隻會提升加載速度,不會提升運作效率。