作者:
NoCool (夠帥.不夠酷.)
2017-12-05 11:01:27寫了那麼長一篇 都沒講到真正的答案呀
知其然不知其所以然
也可以反問
那為什麼要設計成CPU只看得到記憶體看不到硬碟啊
建議想知道的大大可以找馮妞曼的故事來看看嘻嘻
簡單說對無常世間的一切
解決問題最有效率的系統架構還是hierarchy
也就是金字塔的啦。啾咪
※ 引述《Muscovy (三分熟的鬧鐘)》之銘言:
: ※ 引述《kioh (NG中~)》之銘言:
: : 乳題
: : 本魯在想R
: : 現在記憶體16G動輒6K
: : 但是R
: : 硬碟2K可以買到2TB或3TB
: : 為什麼不能用硬碟代替記憶體==?
: : 有卦嗎?
: 讓我這個一天到晚被荼毒的程式員大膽來回答你!
: 這個問題的答案很簡單: 由現代計算機結構決定的.
: 後面全部都是工程演化的結果...
: 關於硬碟比較慢比較大比較便宜, 這些都是後話.
: 不過在八卦板講這麼短的話會被噓爆, 我得掰長一點.
: CPU 設計就很像開工廠佈產線.
: 產線上的女工就是一個一個運算單元.
: 她們能做的事就是指令集.
: 消耗的原料跟生產的產品就是資料.
: 記憶體跟硬碟的區別就在這裡...
: CPU 可以直接存取的都叫做主要儲存裝置, primary storage.
: 記憶體就是 primary storage.
: 硬碟是 secondary storage, 次要儲存裝置.
: 電腦可以沒有次要倉庫, 所以軟碟光碟硬碟甚至可以拔走.
: 電腦可以沒有次要倉庫, 所以軟碟光碟硬碟甚至可以拔走.
: 但是電腦不能沒有主要倉庫.
: 以女工摸得到的桌台櫃子以及樓上樓下, 都是主要倉庫.
: 但是因為鄉民事業很大, 所以主要倉庫可能佔地面積超廣.
: 這時候鄉民就會把倉庫分級.
: 女工手邊的工作桌, 專門由她自己堆雜物, 其他人不得插嘴.
: 桌面上的東西都攤開的, 隨時可用, 這個叫做 L1 cache.
: 通常呢, 她會把做事用的螺絲起子跟鐵鎚電鑽放一起, 這叫 L1i.
: 把待加工的原料放另一塊, 這叫 L1d.
: 然後她身旁會堆好幾個整理箱, 裡面裝滿了處理的 SOP 跟原料.
: 這叫 L2 cache, 「可能」也專屬於她, 不過箱子還沒打開.
: 更遠一點的地方會有大張的工作桌或者堆棧.
: 一樣是一個一個整理箱, 裡面裝了需要處理的東西.
: 不過, 這一區是每個女工共用的, 這叫 L3 cache.
: 這一群女工也有個專有名詞叫做 multi-core processor.
: 如果她們都長一樣就叫做 SMP.
: 然後怎麼用這些 cache 呢?
: 很簡單, 鄉民怎麼堆狗窩的, 女工們就怎麼堆.
: 桌上開始擺, 擺滿了就把不常用的裝箱放腳邊, 腳邊滿了就踢遠遠的.
: 以上都是女工可以搞定的事情.
: 但是廠區不會只到那張大的工作桌為止.
: 廠區可是有一百個台積電那麼大!
: 所以我們會叫一個快遞到處去送貨收貨.
: 所以我們會叫一個快遞到處去送貨收貨.
: 這個快遞員也有個專有名詞叫做 memory bus.
: 女工打電話跟他説要哪個地方的東西, 他就去收貨來轉給女工.
: 女工做好的也一樣, 上面會寫地址, 快遞就直接拿去投放.
: 這也有個專有名詞叫做 random access, 所以是 RAM.
: 還有一件很重要的事...
: 雖然每個女工只摸得到身邊, 但是她們知道整個廠區的各處地址.
: 譬如她們知道「甲處的紗跟乙處的尼龍混紡, 染色後送到丙處」...
: 裡面的甲乙丙處分別是在哪裡.
: 所以每個女工都可以自己找整理箱來處理.
: 當然, 找整理箱不會是女工們自己亂找.
: 負責幫她們安排這些事務的工頭叫做 operating system.
: 而這些整理箱又需要請快遞投放到整個廠區.
: 關於地址的命名也有個好玩的地方.
: 由於整個廠可能要服務二十家不同的客戶, 做五百種產品.
: 但是為了讓程式員不需要背甲乙丙丁各處到底哪邊正在服務誰.
: 女工們還發明了一套的特別地址命名.
: 她們説, 反正你不要管什麼甲乙丙丁在哪裡又有什麼用...
: 只要記得有「餐廳」, 「廚房」, 「工廠」和「休息室」.
: 為每個客戶設計服務模式都是這樣分區命名就對了!
: 這也有專有名詞, 叫做 virtual memory.
: 到目前為止, 這些特異功能在硬碟上都沒有.
: 因為女工只看得到廠區而已.
: 因為女工只看得到廠區而已.
: 但硬碟上的東西卻相當於遠在海關之外, 還沒報關的一個一個貨櫃.
: 不過...
: 這個 virtual memory 倒是衍生出「用硬碟當記憶體」的技術.
: 但是這個扯下去就有點太遠了.
: 但還是可以回到原來的問題.
: 反正就是 CPU 看不到硬碟, 只看得到記憶體.
: 那硬碟當然沒辦法取代記憶體啊!!
: 對了, 我忘了講程式員的角色.
: 程式員就是旁邊那個在拜託女工照他說的話拆箱子的那個傢伙.
: 一般而言要跪著拜託, 但也不一定有用.